Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
MDPro3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
36
Issues
36
List
Boards
Labels
Service Desk
Milestones
Merge Requests
5
Merge Requests
5
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赤子奈落
MDPro3
Commits
ff0f7328
Commit
ff0f7328
authored
Nov 25, 2025
by
SherryChaos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix deck sync bug
parent
1580ff45
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
9 deletions
+9
-9
Assets/Scripts/MDPro3/Net/OnlineDeck.cs
Assets/Scripts/MDPro3/Net/OnlineDeck.cs
+2
-2
Assets/Scripts/MDPro3/Servant/OnlineServant.cs
Assets/Scripts/MDPro3/Servant/OnlineServant.cs
+7
-6
Assets/Scripts/MDPro3/UI/ServantUI/DeckEditorUI.cs
Assets/Scripts/MDPro3/UI/ServantUI/DeckEditorUI.cs
+0
-1
No files found.
Assets/Scripts/MDPro3/Net/OnlineDeck.cs
View file @
ff0f7328
...
@@ -477,13 +477,13 @@ namespace MDPro3.Net
...
@@ -477,13 +477,13 @@ namespace MDPro3.Net
public
DateTime
GetUpdateUtcTime
()
public
DateTime
GetUpdateUtcTime
()
{
{
var
dataTimeOffset
=
DateTimeOffset
.
FromUnixTime
Seconds
(
deckUpdateDate
/
1
000
);
var
dataTimeOffset
=
DateTimeOffset
.
FromUnixTime
Milliseconds
(
deckUpdateDate
-
28800
000
);
return
dataTimeOffset
.
UtcDateTime
;
return
dataTimeOffset
.
UtcDateTime
;
}
}
public
DateTime
GetOnlineDeckLocalTime
()
public
DateTime
GetOnlineDeckLocalTime
()
{
{
var
dataTimeOffset
=
DateTimeOffset
.
FromUnixTime
Seconds
(
lastDate
/
1000
);
var
dataTimeOffset
=
DateTimeOffset
.
FromUnixTime
Milliseconds
(
lastDate
);
return
dataTimeOffset
.
LocalDateTime
;
return
dataTimeOffset
.
LocalDateTime
;
}
}
}
}
...
...
Assets/Scripts/MDPro3/Servant/OnlineServant.cs
View file @
ff0f7328
...
@@ -257,6 +257,8 @@ namespace MDPro3.Servant
...
@@ -257,6 +257,8 @@ namespace MDPro3.Servant
GetUI
<
OnlineServantUI
>().
PageMyCard
.
ButtonDeckSelector
.
SetConfigDeck
(
InterString
.
Get
(
"未选中有效卡组"
));
GetUI
<
OnlineServantUI
>().
PageMyCard
.
ButtonDeckSelector
.
SetConfigDeck
(
InterString
.
Get
(
"未选中有效卡组"
));
}
}
private
float
timeError
=
3f
;
private
IEnumerator
SyncDecks
()
private
IEnumerator
SyncDecks
()
{
{
if
(
OnlineDeck
.
decks
==
null
)
if
(
OnlineDeck
.
decks
==
null
)
...
@@ -271,8 +273,8 @@ namespace MDPro3.Servant
...
@@ -271,8 +273,8 @@ namespace MDPro3.Servant
decks
.
Add
(
new
Deck
(
deckPath
));
decks
.
Add
(
new
Deck
(
deckPath
));
var
decksNeedUpload
=
new
Dictionary
<
string
,
Deck
>();
//没在服务器找到对应的deckId的本地卡组
var
decksNeedUpload
=
new
Dictionary
<
string
,
Deck
>();
//没在服务器找到对应的deckId的本地卡组
var
decksNeedUpdateToServer
=
new
Dictionary
<
string
,
Deck
>();
//找到deckId但本地时间大于服务器时间
五
秒以上的卡组
var
decksNeedUpdateToServer
=
new
Dictionary
<
string
,
Deck
>();
//找到deckId但本地时间大于服务器时间
timeError
秒以上的卡组
var
decksNeedUpdateFromServer
=
new
Dictionary
<
string
,
Deck
>();
//找到deckId但本地时间小于服务器时间
五
秒以上的卡组
var
decksNeedUpdateFromServer
=
new
Dictionary
<
string
,
Deck
>();
//找到deckId但本地时间小于服务器时间
timeError
秒以上的卡组
var
localFoundIds
=
new
List
<
string
>();
var
localFoundIds
=
new
List
<
string
>();
for
(
int
i
=
0
;
i
<
decks
.
Count
;
i
++)
for
(
int
i
=
0
;
i
<
decks
.
Count
;
i
++)
...
@@ -303,11 +305,11 @@ namespace MDPro3.Servant
...
@@ -303,11 +305,11 @@ namespace MDPro3.Servant
var
serverTime
=
od
.
GetUpdateUtcTime
();
var
serverTime
=
od
.
GetUpdateUtcTime
();
var
diff
=
serverTime
-
fileInfo
.
LastWriteTimeUtc
;
var
diff
=
serverTime
-
fileInfo
.
LastWriteTimeUtc
;
//Debug.Log($"{od.deckName}: serverTime
: {serverTime
} localTime: {fileInfo.LastWriteTimeUtc} diff: {diff.TotalSeconds}");
//Debug.Log($"{od.deckName}: serverTime
Utc: {od.GetUpdateUtcTime()}, serverTimeLocal: {od.GetUpdateLocalTime()
} localTime: {fileInfo.LastWriteTimeUtc} diff: {diff.TotalSeconds}");
if
(
diff
.
TotalSeconds
>
1f
||
diff
.
TotalSeconds
<
-
1f
)
if
(
diff
.
TotalSeconds
>
timeError
||
diff
.
TotalSeconds
<
-
timeError
)
{
{
if
(
fileInfo
.
LastWriteTime
>
serverTime
)
if
(
fileInfo
.
LastWriteTime
Utc
>
serverTime
)
decksNeedUpdateToServer
.
Add
(
deckName
,
decks
[
i
]);
decksNeedUpdateToServer
.
Add
(
deckName
,
decks
[
i
]);
else
else
decksNeedUpdateFromServer
.
Add
(
deckName
,
decks
[
i
]);
decksNeedUpdateFromServer
.
Add
(
deckName
,
decks
[
i
]);
...
@@ -328,7 +330,6 @@ namespace MDPro3.Servant
...
@@ -328,7 +330,6 @@ namespace MDPro3.Servant
var
task
=
OnlineDeck
.
SyncDeck
(
deck
.
Value
.
deckId
,
deck
.
Key
,
deck
.
Value
,
time
,
false
);
var
task
=
OnlineDeck
.
SyncDeck
(
deck
.
Value
.
deckId
,
deck
.
Key
,
deck
.
Value
,
time
,
false
);
while
(!
task
.
IsCompleted
)
while
(!
task
.
IsCompleted
)
yield
return
null
;
yield
return
null
;
deck
.
Value
.
Save
(
deck
.
Key
,
time
,
false
);
}
}
//更新已经有Id的本地较旧卡组
//更新已经有Id的本地较旧卡组
foreach
(
var
deck
in
decksNeedUpdateFromServer
)
foreach
(
var
deck
in
decksNeedUpdateFromServer
)
...
...
Assets/Scripts/MDPro3/UI/ServantUI/DeckEditorUI.cs
View file @
ff0f7328
...
@@ -977,7 +977,6 @@ namespace MDPro3.UI.ServantUI
...
@@ -977,7 +977,6 @@ namespace MDPro3.UI.ServantUI
}
}
private
void
OnClearDeck
()
private
void
OnClearDeck
()
{
{
var
codes
=
new
List
<
int
>();
var
codes
=
new
List
<
int
>();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment