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
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
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
FSJK fsjk
MDPro3
Commits
dd3ad4b5
Commit
dd3ad4b5
authored
Apr 06, 2025
by
SherryChaos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new multi platform struct
parent
0816fc25
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
138 additions
and
115 deletions
+138
-115
.DS_Store
.DS_Store
+0
-0
.gitignore
.gitignore
+3
-2
Assets/Scripts/MDPro3/Duel/PercyOCG.cs
Assets/Scripts/MDPro3/Duel/PercyOCG.cs
+1
-1
Assets/Scripts/MDPro3/Duel/YGOSharp/BanlistManager.cs
Assets/Scripts/MDPro3/Duel/YGOSharp/BanlistManager.cs
+4
-4
Assets/Scripts/MDPro3/Duel/YGOSharp/CardsManager.cs
Assets/Scripts/MDPro3/Duel/YGOSharp/CardsManager.cs
+8
-8
Assets/Scripts/MDPro3/Helper/ZipHelper.cs
Assets/Scripts/MDPro3/Helper/ZipHelper.cs
+4
-4
Assets/Scripts/MDPro3/Program.cs
Assets/Scripts/MDPro3/Program.cs
+15
-7
Assets/Scripts/MDPro3/Servant/OcgCore.cs
Assets/Scripts/MDPro3/Servant/OcgCore.cs
+2
-2
Assets/Scripts/MasterDuel/YgomGame/Bg/BgEffectSettingInner.cs
...ts/Scripts/MasterDuel/YgomGame/Bg/BgEffectSettingInner.cs
+4
-4
Assets/Scripts/MasterDuel/YgomSystem/UI/PropertyOverrider/PlatformActiveOverrider.cs
...gomSystem/UI/PropertyOverrider/PlatformActiveOverrider.cs
+2
-2
Assets/Scripts/Tools/AssetBundleRobber.cs
Assets/Scripts/Tools/AssetBundleRobber.cs
+89
-79
README.md
README.md
+6
-2
No files found.
.DS_Store
deleted
100644 → 0
View file @
0816fc25
File deleted
.gitignore
View file @
dd3ad4b5
...
...
@@ -18,6 +18,8 @@ ExportedObj/
*.svd
*.pdb
/.utmp/
.DS_Store
.vscode/
# Unity3D generated files
[Ll]ibrary/
...
...
@@ -36,7 +38,6 @@ sysinfo.txt
*.gradle
# MDPro3 Assets
/Android/
/AssetsUnused/
/[Dd]eck/
/[Ee]xpansions/
...
...
@@ -45,7 +46,7 @@ sysinfo.txt
/[Pp]uzzle/
/[Rr]eplay/
/[Ss]ound/
/
StandaloneWindows64
/
/
Platforms
/
/TempFolder/
Tools/YGO Classes/build/windows/build/
Tools/YGO Classes/build/android/libs/
...
...
Assets/Scripts/MDPro3/Duel/PercyOCG.cs
View file @
dd3ad4b5
...
...
@@ -61,7 +61,7 @@ namespace MDPro3
ret
.
len
=
0
;
var
fileName2
=
fileName
.
TrimStart
(
'.'
,
'/'
);
if
(
fileName
.
StartsWith
(
Program
.
puzzlePath
)
||
fileName
.
StartsWith
(
Program
.
tempFolder
))
if
(
fileName
.
StartsWith
(
Program
.
puzzlePath
)
||
fileName
.
StartsWith
(
Program
.
PATH_TEMP_FOLDER
))
{
if
(
File
.
Exists
(
fileName
))
{
...
...
Assets/Scripts/MDPro3/Duel/YGOSharp/BanlistManager.cs
View file @
dd3ad4b5
...
...
@@ -32,10 +32,10 @@ namespace MDPro3.Duel.YGOSharp
if
(
file
.
ToLower
().
EndsWith
(
"lflist.conf"
))
{
var
e
=
zip
[
file
];
if
(!
Directory
.
Exists
(
Program
.
tempFolder
))
Directory
.
CreateDirectory
(
Program
.
tempFolder
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
ExtractExistingFileAction
.
OverwriteSilently
);
if
(!
Directory
.
Exists
(
Program
.
PATH_TEMP_FOLDER
))
Directory
.
CreateDirectory
(
Program
.
PATH_TEMP_FOLDER
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
ExtractExistingFileAction
.
OverwriteSilently
);
reader
=
new
StreamReader
(
tempFile
);
InitializeFromReader
(
reader
);
reader
.
Close
();
...
...
Assets/Scripts/MDPro3/Duel/YGOSharp/CardsManager.cs
View file @
dd3ad4b5
...
...
@@ -43,10 +43,10 @@ namespace MDPro3.Duel.YGOSharp
if
(
file
.
ToLower
().
EndsWith
(
".cdb"
))
{
var
e
=
zip
[
file
];
if
(!
Directory
.
Exists
(
Program
.
tempFolder
))
Directory
.
CreateDirectory
(
Program
.
tempFolder
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
ExtractExistingFileAction
.
OverwriteSilently
);
if
(!
Directory
.
Exists
(
Program
.
PATH_TEMP_FOLDER
))
Directory
.
CreateDirectory
(
Program
.
PATH_TEMP_FOLDER
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
ExtractExistingFileAction
.
OverwriteSilently
);
LoadCDB
(
tempFile
,
isPreCards
:
Path
.
GetFileName
(
zip
.
Name
)
==
"ygopro-super-pre.ypk"
);
File
.
Delete
(
tempFile
);
}
...
...
@@ -76,10 +76,10 @@ namespace MDPro3.Duel.YGOSharp
if
(
file
.
ToLower
().
EndsWith
(
".cdb"
))
{
var
e
=
zip
[
file
];
if
(!
Directory
.
Exists
(
Program
.
tempFolder
))
Directory
.
CreateDirectory
(
Program
.
tempFolder
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
ExtractExistingFileAction
.
OverwriteSilently
);
if
(!
Directory
.
Exists
(
Program
.
PATH_TEMP_FOLDER
))
Directory
.
CreateDirectory
(
Program
.
PATH_TEMP_FOLDER
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
ExtractExistingFileAction
.
OverwriteSilently
);
LoadCDB
(
tempFile
,
true
,
isPreCards
:
Path
.
GetFileName
(
zip
.
Name
)
==
"ygopro-super-pre.ypk"
);
File
.
Delete
(
tempFile
);
}
...
...
Assets/Scripts/MDPro3/Helper/ZipHelper.cs
View file @
dd3ad4b5
...
...
@@ -39,10 +39,10 @@ namespace MDPro3
if
(
file
.
ToLower
().
EndsWith
(
".cdb"
))
{
var
e
=
zip
[
file
];
if
(!
Directory
.
Exists
(
Program
.
tempFolder
))
Directory
.
CreateDirectory
(
Program
.
tempFolder
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
tempFolder
),
ExtractExistingFileAction
.
OverwriteSilently
);
if
(!
Directory
.
Exists
(
Program
.
PATH_TEMP_FOLDER
))
Directory
.
CreateDirectory
(
Program
.
PATH_TEMP_FOLDER
);
var
tempFile
=
Path
.
Combine
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
file
);
e
.
Extract
(
Path
.
GetFullPath
(
Program
.
PATH_TEMP_FOLDER
),
ExtractExistingFileAction
.
OverwriteSilently
);
returnValue
.
Add
(
tempFile
);
}
}
...
...
Assets/Scripts/MDPro3/Program.cs
View file @
dd3ad4b5
...
...
@@ -267,15 +267,23 @@ namespace MDPro3
#
region
MonoBehaviors
public
const
string
tempFolder
=
"TempFolder/"
;
public
const
string
rootWindows64
=
"StandaloneWindows64/"
;
public
const
string
rootAndroid
=
"Android/"
;
public
static
string
root
=
rootWindows64
;
public
const
string
PATH_ROOT_EDITOR
=
"Platforms/"
;
public
const
string
PATH_ROOT_WINDOWS64
=
"StandaloneWindows64/"
;
public
const
string
PATH_ROOT_ANDROID
=
"Android/"
;
public
const
string
PATH_ROOT_IOS
=
"iOS/"
;
public
const
string
PATH_TEMP_FOLDER
=
"TempFolder/"
;
public
static
string
root
=
PATH_ROOT_WINDOWS64
;
void
Awake
()
{
#if UNITY_ANDROID
root
=
rootAndroid
;
root
=
PATH_ROOT_ANDROID
;
#elif UNITY_IOS
root
=
PATH_ROOT_IOS
;
#endif
#if UNITY_EDITOR
root
=
PATH_ROOT_EDITOR
+
root
;
#endif
instance
=
this
;
Initialize
();
...
...
@@ -420,8 +428,8 @@ namespace MDPro3
string
cachePath
=
cacheDir
.
Call
<
string
>(
"getAbsolutePath"
);
Tools
.
ClearDirectoryRecursively
(
new
DirectoryInfo
(
cachePath
));
#else
if
(
Directory
.
Exists
(
tempFolder
))
Directory
.
Delete
(
tempFolder
,
true
);
if
(
Directory
.
Exists
(
PATH_TEMP_FOLDER
))
Directory
.
Delete
(
PATH_TEMP_FOLDER
,
true
);
#endif
}
...
...
Assets/Scripts/MDPro3/Servant/OcgCore.cs
View file @
dd3ad4b5
...
...
@@ -462,7 +462,7 @@ namespace MDPro3.Servant
public
void
CameraZoomToMate0
()
{
if
(
Program
.
root
==
Program
.
rootAndroid
)
if
(
Program
.
root
==
Program
.
PATH_ROOT_ANDROID
)
return
;
if
(
Config
.
Get
(
"MateViewTips"
,
"0"
)
==
"0"
)
...
...
@@ -487,7 +487,7 @@ namespace MDPro3.Servant
public
void
CameraZoomToMate1
()
{
if
(
Program
.
root
==
Program
.
rootAndroid
)
if
(
Program
.
root
==
Program
.
PATH_ROOT_ANDROID
)
return
;
if
(
Config
.
Get
(
"MateViewTips"
,
"0"
)
==
"0"
)
...
...
Assets/Scripts/MasterDuel/YgomGame/Bg/BgEffectSettingInner.cs
View file @
dd3ad4b5
...
...
@@ -136,9 +136,9 @@ namespace YgomGame.Bg
foreach
(
var
ani
in
animator
.
parameters
)
animatorParams
.
Add
(
ani
.
name
);
}
if
(
disableLowEndPlatform
&&
Program
.
root
!=
Program
.
rootWindows
64
)
if
(
disableLowEndPlatform
&&
Program
.
root
!=
Program
.
PATH_ROOT_WINDOWS
64
)
Destroy
(
gameObject
);
if
(
enableLowEndPlatformOnly
&&
Program
.
root
==
Program
.
rootWindows
64
)
if
(
enableLowEndPlatformOnly
&&
Program
.
root
==
Program
.
PATH_ROOT_WINDOWS
64
)
Destroy
(
gameObject
);
if
(
playingOnlyActive
)
...
...
@@ -147,12 +147,12 @@ namespace YgomGame.Bg
public
bool
PlayEffect
(
TriggerLabelDefine
triggerLabel
)
{
if
(
disableLowEndPlatform
&&
Program
.
root
!=
Program
.
rootWindows
64
)
if
(
disableLowEndPlatform
&&
Program
.
root
!=
Program
.
PATH_ROOT_WINDOWS
64
)
{
gameObject
.
SetActive
(
false
);
return
false
;
}
if
(
enableLowEndPlatformOnly
&&
Program
.
root
==
Program
.
rootWindows
64
)
if
(
enableLowEndPlatformOnly
&&
Program
.
root
==
Program
.
PATH_ROOT_WINDOWS
64
)
{
gameObject
.
SetActive
(
false
);
return
false
;
...
...
Assets/Scripts/MasterDuel/YgomSystem/UI/PropertyOverrider/PlatformActiveOverrider.cs
View file @
dd3ad4b5
...
...
@@ -23,9 +23,9 @@ namespace YgomSystem.UI.PropertyOverrider
private
void
Start
()
{
if
(
m_Active
.
m_DefaultValue
&&
Program
.
root
!=
Program
.
rootWindows
64
)
if
(
m_Active
.
m_DefaultValue
&&
Program
.
root
!=
Program
.
PATH_ROOT_WINDOWS
64
)
Destroy
(
gameObject
);
if
(
m_Active
.
m_MobileValue
&&
Program
.
root
==
Program
.
rootWindows
64
)
if
(
m_Active
.
m_MobileValue
&&
Program
.
root
==
Program
.
PATH_ROOT_WINDOWS
64
)
Destroy
(
gameObject
);
}
}
...
...
Assets/Scripts/Tools/AssetBundleRobber.cs
View file @
dd3ad4b5
...
...
@@ -14,23 +14,29 @@ using System;
public
class
AssetBundleRobber
:
MonoBehaviour
{
public
Text
text
;
static
Text
sText
;
string
masterDuelAssetBundlePath
;
string
masterDuelWindowsAssetBundlePath
=
"D:/Game/Steam/steamapps/common/Yu-Gi-Oh! Master Duel/LocalData/16165626/0000/"
;
string
masterDuelAndroidAssetBundlePath
=
"D:/Game/Steam/steamapps/common/Yu-Gi-Oh! Master Duel/LocalData/Android/0000/"
;
string
workingPlace
;
private
static
Text
sText
;
private
string
pathAB
;
private
string
pathStore
;
private
const
string
PATH_AB_WINDOWS
=
"D:/Game/Steam/steamapps/common/Yu-Gi-Oh! Master Duel/LocalData/16165626/0000/"
;
private
const
string
PATH_AB_ANDROID
=
"D:/Game/Steam/steamapps/common/Yu-Gi-Oh! Master Duel/LocalData/Android/0000/"
;
private
const
string
PATH_AB_IOS
=
"D:/Game/Steam/steamapps/common/Yu-Gi-Oh! Master Duel/LocalData/iOS/0000/"
;
private
const
string
PATH_STORE_WINDOWS
=
"Platforms/StandaloneWindows64/Robber/"
;
private
const
string
PATH_STORE_ANDROID
=
"Platforms/Android/Robber/"
;
private
const
string
PATH_STORE_IOS
=
"Platforms/iOS/Robber/"
;
public
static
int
fileCount
;
public
static
int
currentFileCount
;
readonly
object
_lock
=
new
object
();
bool
noSave
=
false
;
ConcurrentQueue
<
string
>
logQueue
=
new
ConcurrentQueue
<
string
>
();
int
count
=
0
;
AssetStudio
.
AssetsManager
assetManager
;
private
readonly
object
_lock
=
new
();
private
bool
noSave
=
false
;
private
readonly
ConcurrentQueue
<
string
>
logQueue
=
new
();
private
int
count
=
0
;
private
AssetStudio
.
AssetsManager
assetManager
;
bool
fullCopy
;
string
androindWorkingPlace
=
"Android/Robber/"
;
string
windowsWorkingPlace
=
"StandaloneWindows64/Robber/"
;
int
threads
=
32
;
private
bool
fullCopy
;
private
readonly
int
threads
=
32
;
public
struct
AssetbundleInfo
{
...
...
@@ -58,11 +64,15 @@ public class AssetBundleRobber : MonoBehaviour
//masterDuelAssetBundlePath = masterDuelWindowsAssetBundlePath;
//workingPlace = windowsWorkingPlace;
masterDuelAssetBundlePath
=
masterDuelAndroidAssetBundlePath
;
workingPlace
=
androindWorkingPlace
;
//fullCopy = true;
fullCopy
=
false
;
//pathAB = PATH_AB_ANDROID;
//pathStore = PATH_STORE_ANDROID;
pathAB
=
PATH_AB_IOS
;
pathStore
=
PATH_STORE_IOS
;
fullCopy
=
true
;
//fullCopy = false;
Initialize
();
...
...
@@ -76,11 +86,11 @@ public class AssetBundleRobber : MonoBehaviour
{
if
(
file
.
path
==
path
)
{
Directory
.
CreateDirectory
(
workingPlac
e
+
path
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
workingPlac
e
+
path
+
"/"
+
file
.
path
);
Directory
.
CreateDirectory
(
pathStor
e
+
path
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
pathStor
e
+
path
+
"/"
+
file
.
path
);
foreach
(
var
dep
in
file
.
dependencies
)
{
File
.
Copy
(
GetFullPath
(
dep
),
workingPlac
e
+
path
+
"/"
+
dep
);
File
.
Copy
(
GetFullPath
(
dep
),
pathStor
e
+
path
+
"/"
+
dep
);
}
}
...
...
@@ -91,11 +101,11 @@ public class AssetBundleRobber : MonoBehaviour
void
Initialize
()
{
if
(!
Directory
.
Exists
(
workingPlac
e
))
Directory
.
CreateDirectory
(
workingPlac
e
);
if
(!
Directory
.
Exists
(
pathStor
e
))
Directory
.
CreateDirectory
(
pathStor
e
);
var
fullText
=
""
;
if
(
File
.
Exists
(
workingPlac
e
+
"FileList.txt"
))
fullText
=
File
.
ReadAllText
(
workingPlac
e
+
"FileList.txt"
);
if
(
File
.
Exists
(
pathStor
e
+
"FileList.txt"
))
fullText
=
File
.
ReadAllText
(
pathStor
e
+
"FileList.txt"
);
else
noSave
=
true
;
var
lines
=
fullText
.
Replace
(
"\r"
,
""
).
Split
(
'\n'
);
...
...
@@ -169,7 +179,7 @@ public class AssetBundleRobber : MonoBehaviour
IEnumerator
RefreshFileResources
()
{
var
ie
=
assetManager
.
LoadFolderAsync
(
masterDuelAssetBundlePath
);
var
ie
=
assetManager
.
LoadFolderAsync
(
pathAB
);
StartCoroutine
(
ie
);
while
(
ie
.
MoveNext
())
yield
return
null
;
...
...
@@ -192,13 +202,13 @@ public class AssetBundleRobber : MonoBehaviour
{
text
.
text
=
"Logging: "
+
count
+
"/"
+
assetManager
.
assetsFileList
.
Count
;
if
(
logQueue
.
TryDequeue
(
out
var
log
))
File
.
AppendAllText
(
workingPlac
e
+
"FileList.txt"
,
log
);
File
.
AppendAllText
(
pathStor
e
+
"FileList.txt"
,
log
);
yield
return
null
;
}
while
(
logQueue
.
TryDequeue
(
out
var
log
))
{
File
.
AppendAllText
(
workingPlac
e
+
"FileList.txt"
,
log
);
File
.
AppendAllText
(
pathStor
e
+
"FileList.txt"
,
log
);
text
.
text
=
"Writing Left: "
+
logQueue
.
Count
;
yield
return
null
;
}
...
...
@@ -294,42 +304,42 @@ public class AssetBundleRobber : MonoBehaviour
var
type
=
GetAssetType
(
file
.
name
);
if
(
type
==
AssetType
.
AvatarStand
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"AvatarStand"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"AvatarStand"
);
var
targetName
=
workingPlac
e
+
"AvatarStand/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"avatarstand_"
,
"AvatarStand_"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"AvatarStand"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"AvatarStand"
);
var
targetName
=
pathStor
e
+
"AvatarStand/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"avatarstand_"
,
"AvatarStand_"
);
if
(!
File
.
Exists
(
targetName
))
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
Frame
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Frame"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Frame"
);
var
targetName
=
workingPlac
e
+
"Frame/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".mat"
,
""
).
Replace
(
"profileframemat"
,
"ProfileFrameMat"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Frame"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Frame"
);
var
targetName
=
pathStor
e
+
"Frame/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".mat"
,
""
).
Replace
(
"profileframemat"
,
"ProfileFrameMat"
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
Grave
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Grave"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Grave"
);
var
targetName
=
workingPlac
e
+
"Grave/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"grave_"
,
"Grave_"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Grave"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Grave"
);
var
targetName
=
pathStor
e
+
"Grave/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"grave_"
,
"Grave_"
);
if
(!
File
.
Exists
(
targetName
))
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
Mat
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Mat"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Mat"
);
var
targetName
=
workingPlac
e
+
"Mat/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"mat_"
,
"Mat_"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Mat"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Mat"
);
var
targetName
=
pathStor
e
+
"Mat/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"mat_"
,
"Mat_"
);
if
(!
File
.
Exists
(
targetName
))
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
Mate
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Mate"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Mate"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Mate"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Mate"
);
var
targetName
=
workingPlac
e
+
"Mate/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"_model"
,
"_Model"
).
Replace
(
"_sd_"
,
"_SD_"
).
Replace
(
"m"
,
"M"
).
Replace
(
"v"
,
"V"
);
var
targetName
=
pathStor
e
+
"Mate/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"_model"
,
"_Model"
).
Replace
(
"_sd_"
,
"_SD_"
).
Replace
(
"m"
,
"M"
).
Replace
(
"v"
,
"V"
);
if
(
file
.
dependencies
.
Count
==
0
)
{
...
...
@@ -356,10 +366,10 @@ public class AssetBundleRobber : MonoBehaviour
}
else
if
(
type
==
AssetType
.
Protector
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Protector"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Protector"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Protector"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Protector"
);
string
subDir
=
"107"
+
Regex
.
Split
(
file
.
name
,
"/"
)[
4
];
var
targetFolder
=
workingPlac
e
+
"Protector/"
+
subDir
;
var
targetFolder
=
pathStor
e
+
"Protector/"
+
subDir
;
var
targetName
=
targetFolder
+
"/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
"pmat.mat"
,
subDir
).
Replace
(
"protectoricon"
,
"ProtectorIcon"
).
Replace
(
".png"
,
""
);
if
(!
Directory
.
Exists
(
targetFolder
))
...
...
@@ -368,10 +378,10 @@ public class AssetBundleRobber : MonoBehaviour
}
else
if
(
type
==
AssetType
.
Wallpaper
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Wallpaper"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Wallpaper"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Wallpaper"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Wallpaper"
);
var
subDir
=
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"front"
,
"Front"
);
var
targetFolder
=
workingPlac
e
+
"Wallpaper/"
+
subDir
;
var
targetFolder
=
pathStor
e
+
"Wallpaper/"
+
subDir
;
if
(!
Directory
.
Exists
(
targetFolder
))
Directory
.
CreateDirectory
(
targetFolder
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetFolder
+
"/"
+
subDir
);
...
...
@@ -386,10 +396,10 @@ public class AssetBundleRobber : MonoBehaviour
}
else
if
(
type
==
AssetType
.
Background
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Background"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Background"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Background"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Background"
);
string
subDir
=
Path
.
GetFileName
(
file
.
name
).
Replace
(
"back"
,
"Back"
).
Replace
(
".prefab"
,
""
);
var
targetFolder
=
workingPlac
e
+
"Background/"
+
subDir
;
var
targetFolder
=
pathStor
e
+
"Background/"
+
subDir
;
if
(!
Directory
.
Exists
(
targetFolder
))
Directory
.
CreateDirectory
(
targetFolder
);
if
(!
File
.
Exists
(
targetFolder
+
"/"
+
subDir
))
...
...
@@ -407,15 +417,15 @@ public class AssetBundleRobber : MonoBehaviour
}
else
if
(
type
==
AssetType
.
Card
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Card"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Card"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Card"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Card"
);
string
subDir
=
int
.
Parse
(
Regex
.
Split
(
file
.
name
,
"/"
)[
6
].
Replace
(
"ef"
,
""
)).
ToString
();
subDir
=
GetYdkID
(
subDir
);
if
(
file
.
name
.
Contains
(
"/highend_hd/"
))
subDir
=
"HD"
+
subDir
;
else
if
(
file
.
name
.
Contains
(
"/sd/"
))
subDir
=
"SD"
+
subDir
;
var
targetFolder
=
workingPlac
e
+
"Card/"
+
subDir
;
var
targetFolder
=
pathStor
e
+
"Card/"
+
subDir
;
if
(!
Directory
.
Exists
(
targetFolder
))
Directory
.
CreateDirectory
(
targetFolder
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetFolder
+
"/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".prefab"
,
""
).
Replace
(
"ef"
,
"Ef"
));
...
...
@@ -434,13 +444,13 @@ public class AssetBundleRobber : MonoBehaviour
else
if
(
type
==
AssetType
.
MonsterCutin
)
{
if
(
file
.
name
.
Contains
(
"/sd/"
))
if
(
workingPlac
e
.
Contains
(
"Windows"
))
if
(
pathStor
e
.
Contains
(
"Windows"
))
continue
;
if
(!
Directory
.
Exists
(
workingPlac
e
+
"MonsterCutin"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"MonsterCutin"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"MonsterCutin"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"MonsterCutin"
);
string
subDir
=
Regex
.
Split
(
file
.
name
,
"/"
)[
7
].
Replace
(
"p"
,
""
);
subDir
=
GetYdkID
(
subDir
);
var
targetFolder
=
workingPlac
e
+
"MonsterCutin/"
+
subDir
;
var
targetFolder
=
pathStor
e
+
"MonsterCutin/"
+
subDir
;
if
(!
Directory
.
Exists
(
targetFolder
))
Directory
.
CreateDirectory
(
targetFolder
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetFolder
+
"/"
+
file
.
path
);
...
...
@@ -459,10 +469,10 @@ public class AssetBundleRobber : MonoBehaviour
else
if
(
type
==
AssetType
.
SpecialWin
)
{
if
(
file
.
name
.
Contains
(
"/sd/"
))
if
(
workingPlac
e
.
Contains
(
"Windows"
))
if
(
pathStor
e
.
Contains
(
"Windows"
))
continue
;
if
(!
Directory
.
Exists
(
workingPlac
e
+
"SpecialWin"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"SpecialWin"
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"SpecialWin"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"SpecialWin"
);
string
subDir
=
Regex
.
Split
(
file
.
name
,
"/"
)[
8
];
if
(
subDir
.
Contains
(
".prefab"
))
//4027 艾克佐迪亚
{
...
...
@@ -471,7 +481,7 @@ public class AssetBundleRobber : MonoBehaviour
else
subDir
=
subDir
.
Replace
(
"p"
,
""
);
subDir
=
GetYdkID
(
subDir
);
var
targetFolder
=
workingPlac
e
+
"SpecialWin/"
+
subDir
;
var
targetFolder
=
pathStor
e
+
"SpecialWin/"
+
subDir
;
if
(!
Directory
.
Exists
(
targetFolder
))
Directory
.
CreateDirectory
(
targetFolder
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetFolder
+
"/"
+
subDir
);
...
...
@@ -489,37 +499,37 @@ public class AssetBundleRobber : MonoBehaviour
}
else
if
(
type
==
AssetType
.
BGM
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Sound/BGM"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Sound/BGM"
);
var
targetName
=
workingPlac
e
+
"Sound/BGM/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Sound/BGM"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Sound/BGM"
);
var
targetName
=
pathStor
e
+
"Sound/BGM/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
SE_DUEL
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Sound/SE_DUEL"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Sound/SE_DUEL"
);
var
targetName
=
workingPlac
e
+
"Sound/SE_DUEL/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Sound/SE_DUEL"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Sound/SE_DUEL"
);
var
targetName
=
pathStor
e
+
"Sound/SE_DUEL/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
SE_FIELD
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Sound/SE_FIELD"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Sound/SE_FIELD"
);
var
targetName
=
workingPlac
e
+
"Sound/SE_FIELD/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Sound/SE_FIELD"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Sound/SE_FIELD"
);
var
targetName
=
pathStor
e
+
"Sound/SE_FIELD/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
SE_MATE
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Sound/SE_MATE"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Sound/SE_MATE"
);
var
targetName
=
workingPlac
e
+
"Sound/SE_MATE/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Sound/SE_MATE"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Sound/SE_MATE"
);
var
targetName
=
pathStor
e
+
"Sound/SE_MATE/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
}
else
if
(
type
==
AssetType
.
SE_SYS
)
{
if
(!
Directory
.
Exists
(
workingPlac
e
+
"Sound/SE_SYS"
))
Directory
.
CreateDirectory
(
workingPlac
e
+
"Sound/SE_SYS"
);
var
targetName
=
workingPlac
e
+
"Sound/SE_SYS/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
if
(!
Directory
.
Exists
(
pathStor
e
+
"Sound/SE_SYS"
))
Directory
.
CreateDirectory
(
pathStor
e
+
"Sound/SE_SYS"
);
var
targetName
=
pathStor
e
+
"Sound/SE_SYS/"
+
Path
.
GetFileName
(
file
.
name
).
Replace
(
".wav"
,
""
);
try
{
File
.
Copy
(
GetFullPath
(
file
.
path
),
targetName
);
...
...
@@ -749,7 +759,7 @@ public class AssetBundleRobber : MonoBehaviour
Debug
.
Log
(
"Too short: "
+
path
);
return
string
.
Empty
;
}
var
returnValue
=
masterDuelAssetBundlePath
+
path
.
Substring
(
0
,
2
)
+
"/"
+
path
;
var
returnValue
=
pathAB
+
path
.
Substring
(
0
,
2
)
+
"/"
+
path
;
//Debug.Log(path + ": " + returnValue);
return
returnValue
;
}
...
...
README.md
View file @
dd3ad4b5
...
...
@@ -6,9 +6,13 @@ Unity version: 6000.0.10f1
### Other required folders
*
Android: You can find it from the Android apk.
*
Platforms/
Android: You can find it from the Android apk.
*
StandaloneWindows64: You can find it from the released MDPro3(windows).
*
Platforms/StandaloneWindows64: You can find it from the released MDPro3(windows).
*
Platforms/iOS: You can find it from the released MDPro3(iOS).
*
Platforms/Mac: You can find it from the released MDPro3(Mac).
*
Picture/Art: https://code.mycard.moe/mycard/hd-arts
...
...
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