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
23
Issues
23
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
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
edcda087
Commit
edcda087
authored
Jul 16, 2025
by
SherryChaos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
online deck bug fix
parent
04e91b0f
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
49 additions
and
104 deletions
+49
-104
Assets/Fonts/SourceHanSansSC-Medium.asset
Assets/Fonts/SourceHanSansSC-Medium.asset
+9
-63
Assets/Scripts/MDPro3/Duel/YGOSharp/Deck.cs
Assets/Scripts/MDPro3/Duel/YGOSharp/Deck.cs
+3
-3
Assets/Scripts/MDPro3/Net/OnlineDeck.cs
Assets/Scripts/MDPro3/Net/OnlineDeck.cs
+17
-20
Assets/Scripts/MDPro3/Servant/OnlineServant.cs
Assets/Scripts/MDPro3/Servant/OnlineServant.cs
+7
-5
Assets/Scripts/MDPro3/UI/ServantUI/DeckSelectorUI.cs
Assets/Scripts/MDPro3/UI/ServantUI/DeckSelectorUI.cs
+2
-2
Assets/Scripts/MDPro3/UI/ServantUI/OnlineDeckViewerUI.cs
Assets/Scripts/MDPro3/UI/ServantUI/OnlineDeckViewerUI.cs
+10
-10
Assets/Scripts/MDPro3/UI/UIWidget/Deck/DeckView.cs
Assets/Scripts/MDPro3/UI/UIWidget/Deck/DeckView.cs
+1
-1
No files found.
Assets/Fonts/SourceHanSansSC-Medium.asset
View file @
edcda087
This diff is collapsed.
Click to expand it.
Assets/Scripts/MDPro3/Duel/YGOSharp/Deck.cs
View file @
edcda087
...
...
@@ -57,8 +57,8 @@ namespace MDPro3.Duel.YGOSharp
Grave
=
1100001
;
Stand
=
1110001
;
Mate
=
1000001
;
string
st
=
ydk
.
Replace
(
"\r"
,
"
"
);
string
[]
lines
=
st
.
Split
(
new
string
[]
{
"\n"
}
,
StringSplitOptions
.
RemoveEmptyEntries
);
string
st
=
ydk
.
Replace
(
"\r"
,
string
.
Empty
).
Replace
(
"\\r"
,
string
.
Empty
).
Replace
(
"\\n"
,
"\n
"
);
string
[]
lines
=
st
.
Split
(
"\n"
,
StringSplitOptions
.
RemoveEmptyEntries
);
int
flag
=
-
1
;
foreach
(
string
line
in
lines
)
...
...
@@ -278,7 +278,7 @@ namespace MDPro3.Duel.YGOSharp
{
var
path
=
Program
.
PATH_DECK
+
deckName
+
Program
.
EXPANSION_YDK
;
File
.
WriteAllText
(
path
,
ydk
,
Encoding
.
UTF8
);
File
.
SetLastWriteTime
(
path
,
saveTime
);
File
.
SetLastWriteTime
Utc
(
path
,
saveTime
);
if
(
MyCard
.
account
!=
null
&&
upload
)
_
=
OnlineDeck
.
SyncDeck
(
deckId
,
deckName
,
this
,
true
);
...
...
Assets/Scripts/MDPro3/Net/OnlineDeck.cs
View file @
edcda087
...
...
@@ -54,7 +54,6 @@ namespace MDPro3.Net
if
(
request
.
result
==
UnityWebRequest
.
Result
.
Success
)
{
string
jsonResult
=
request
.
downloadHandler
.
text
;
var
responseData
=
JsonUtility
.
FromJson
<
ResponseMultiSimpleData
>(
request
.
downloadHandler
.
text
);
return
responseData
.
data
;
}
...
...
@@ -162,7 +161,10 @@ namespace MDPro3.Net
if
(
responseData
.
code
==
0
)
MessageManager
.
Cast
(
InterString
.
Get
(
"点赞卡组成功。"
));
else
MessageManager
.
Cast
(
InterString
.
Get
(
"点赞卡组失败:"
)
+
InterString
.
Get
(
responseData
.
message
,
responseData
.
messageValue
));
MessageManager
.
Cast
(
InterString
.
Get
(
"点赞卡组失败:"
)
+
//InterString.Get(responseData.message, responseData.messageValue)
responseData
.
message
);
}
else
MessageManager
.
Cast
(
InterString
.
Get
(
"点赞卡组失败:"
)
+
request
.
error
);
...
...
@@ -229,7 +231,7 @@ namespace MDPro3.Net
decks
[
i
].
deckId
=
ids
[
i
];
decks
[
i
].
userId
=
MyCard
.
account
.
user
.
id
.
ToString
();
decks
[
i
].
Save
(
newName
,
DateTime
.
Now
,
false
);
decks
[
i
].
Save
(
newName
,
DateTime
.
Utc
Now
,
false
);
}
var
json
=
JsonUtility
.
ToJson
(
body
);
...
...
@@ -296,10 +298,9 @@ namespace MDPro3.Net
if
(
request
.
result
==
UnityWebRequest
.
Result
.
Success
)
{
var
responseData
=
JsonUtility
.
FromJson
<
SyncResponseSingleData
>(
request
.
downloadHandler
.
text
);
Debug
.
LogFormat
(
"Sync Deck: {0}, Result: {1} {2} {3}."
,
deckName
,
responseData
.
code
,
responseData
.
message
,
responseData
.
data
);
if
(
showHint
)
MessageManager
.
Cast
(
InterString
.
Get
(
"云端卡组「[?]」已同步。"
,
deckName
));
deck
.
Save
(
deckName
,
DateTime
.
Now
,
false
);
deck
.
Save
(
deckName
,
DateTime
.
Utc
Now
,
false
);
return
true
;
}
else
...
...
@@ -451,37 +452,33 @@ namespace MDPro3.Net
public
string
deckId
;
public
string
deckContributor
;
public
string
deckName
;
public
string
deckType
;
public
int
deckRank
=
0
;
public
int
deckLike
=
0
;
public
stri
ng
deckUploadDate
;
public
stri
ng
deckUpdateDate
;
public
lo
ng
deckUploadDate
;
public
lo
ng
deckUpdateDate
;
public
int
deckCoverCard1
=
0
;
public
int
deckCoverCard2
=
0
;
public
int
deckCoverCard3
=
0
;
public
int
deckCase
=
0
;
public
int
deckProtector
=
0
;
public
string
lastDate
;
public
string
deckYdk
;
public
string
deckMainSerial
;
public
string
deckYdk
;
public
int
userid
;
public
bool
isPublic
;
public
string
description
;
public
bool
isDelete
;
//List Only
public
string
lastDate
;
public
OnlineDeckData
()
{
}
public
DateTime
GetUpdateTime
()
public
DateTime
GetUpdate
Utc
Time
()
{
try
{
return
DateTime
.
Parse
(
deckUpdateDate
);
}
catch
{
return
DateTime
.
Parse
(
deckUploadDate
);
}
var
dataTimeOffset
=
DateTimeOffset
.
FromUnixTimeSeconds
(
deckUpdateDate
);
return
dataTimeOffset
.
UtcDateTime
;
}
}
[
Serializable
]
...
...
@@ -489,7 +486,7 @@ namespace MDPro3.Net
{
public
int
code
=
0
;
public
string
message
;
public
string
messageValue
;
//
public string messageValue;
public
OnlineDeckData
data
;
}
...
...
Assets/Scripts/MDPro3/Servant/OnlineServant.cs
View file @
edcda087
...
...
@@ -296,9 +296,10 @@ namespace MDPro3.Servant
{
localFoundedIds
.
Add
(
od
.
deckId
);
var
fileInfo
=
new
FileInfo
(
deckFiles
[
i
]);
var
serverTime
=
od
.
GetUpdateTime
();
var
diff
=
serverTime
-
fileInfo
.
LastWriteTime
;
//Debug.LogFormat("{0}({1}): {2}-{3}={4}", od.deckName, od.deckId, serverTime, fileInfo.LastWriteTime, diff.TotalSeconds);
var
serverTime
=
od
.
GetUpdateUtcTime
();
var
diff
=
serverTime
-
fileInfo
.
LastWriteTimeUtc
;
//Debug.Log($"{od.deckName}: serverTime: {serverTime} localTime: {fileInfo.LastWriteTimeUtc}");
if
(
diff
.
TotalSeconds
>
5f
||
diff
.
TotalSeconds
<
-
5f
)
{
...
...
@@ -323,6 +324,7 @@ namespace MDPro3.Servant
var
task
=
OnlineDeck
.
SyncDeck
(
deck
.
Value
.
deckId
,
deck
.
Key
,
deck
.
Value
,
false
);
while
(!
task
.
IsCompleted
)
yield
return
null
;
deck
.
Value
.
Save
(
deck
.
Key
,
DateTime
.
UtcNow
,
false
);
}
//更新已经有Id的本地较旧卡组
foreach
(
var
deck
in
decksNeedUpdateFromServer
)
...
...
@@ -335,7 +337,7 @@ namespace MDPro3.Servant
File
.
Delete
(
oldPath
);
var
newPath
=
Program
.
PATH_DECK
+
od
.
deckName
+
Program
.
EXPANSION_YDK
;
File
.
WriteAllText
(
newPath
,
od
.
deckYdk
);
File
.
SetLastWriteTime
(
newPath
,
od
.
GetUpdate
Time
());
File
.
SetLastWriteTime
Utc
(
newPath
,
od
.
GetUpdateUtc
Time
());
}
//上传没有Id的本地卡组
...
...
@@ -369,7 +371,7 @@ namespace MDPro3.Servant
var
d
=
new
Deck
(
deck
.
deckYdk
,
string
.
Empty
,
string
.
Empty
);
d
.
userId
=
MyCard
.
account
.
user
.
id
.
ToString
();
d
.
deckId
=
deck
.
deckId
;
d
.
Save
(
deck
.
deckName
,
deck
.
GetUpdateTime
());
d
.
Save
(
deck
.
deckName
,
deck
.
GetUpdate
Utc
Time
());
}
#if UNITY_EDITOR
...
...
Assets/Scripts/MDPro3/UI/ServantUI/DeckSelectorUI.cs
View file @
edcda087
...
...
@@ -317,12 +317,12 @@ namespace MDPro3.UI.ServantUI
{
var
uri
=
new
Uri
(
clipBoard
);
var
deck
=
DeckShareURL
.
UriToDeck
(
uri
);
deck
.
Save
(
deckName
,
DateTime
.
Now
);
deck
.
Save
(
deckName
,
DateTime
.
Utc
Now
);
}
else
if
(
clipBoard
.
Contains
(
YdkeConverter
.
ydkeHeader
))
{
var
deck
=
YdkeConverter
.
Ydke2Deck
(
clipBoard
);
deck
.
Save
(
deckName
,
DateTime
.
Now
);
deck
.
Save
(
deckName
,
DateTime
.
Utc
Now
);
}
Config
.
SetConfigDeck
(
deckName
);
RefreshList
();
...
...
Assets/Scripts/MDPro3/UI/ServantUI/OnlineDeckViewerUI.cs
View file @
edcda087
...
...
@@ -81,16 +81,16 @@ namespace MDPro3.UI.ServantUI
{
var
task
=
new
string
[
10
]
{
deck
.
deckName
,
deck
.
deckContributor
,
deck
.
deckId
,
deck
.
deckCase
==
0
?
"1080001"
:
deck
.
deckCase
.
ToString
(),
deck
.
deckCoverCard1
.
ToString
(),
deck
.
deckCoverCard2
.
ToString
(),
deck
.
deckCoverCard3
.
ToString
(),
deck
.
deckProtector
==
0
?
"1070001"
:
deck
.
deckProtector
.
ToString
(),
deck
.
deckLike
.
ToString
(),
deck
.
lastDate
deck
.
deckName
,
deck
.
deckContributor
,
deck
.
deckId
,
deck
.
deckCase
==
0
?
"1080001"
:
deck
.
deckCase
.
ToString
(),
deck
.
deckCoverCard1
.
ToString
(),
deck
.
deckCoverCard2
.
ToString
(),
deck
.
deckCoverCard3
.
ToString
(),
deck
.
deckProtector
==
0
?
"1070001"
:
deck
.
deckProtector
.
ToString
(),
deck
.
deckLike
.
ToString
(),
deck
.
lastDate
};
tasks
.
Add
(
task
);
}
...
...
Assets/Scripts/MDPro3/UI/UIWidget/Deck/DeckView.cs
View file @
edcda087
...
...
@@ -1197,7 +1197,7 @@ namespace MDPro3.UI
try
{
var
deckName
=
GetDeckName
();
Deck
.
Save
(
deckName
,
DateTime
.
Now
);
Deck
.
Save
(
deckName
,
DateTime
.
Utc
Now
);
if
(
deckName
!=
this
.
deckName
)
File
.
Delete
(
Program
.
PATH_DECK
+
this
.
deckName
+
Program
.
EXPANSION_YDK
);
this
.
deckName
=
deckName
;
...
...
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