Explorar el Código

Merge branch 'CardData-3rd-Party' into EX6

mbunch_kascope hace 2 años
padre
commit
80032d6a0c
Se han modificado 78 ficheros con 1057 adiciones y 1 borrados
  1. 3 0
      Assets/CardBaseEntity/CardEntity_JSONLoader.asset
  2. 8 0
      Assets/CardBaseEntity/CardEntity_JSONLoader.asset.meta
  3. 3 0
      Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144.asset
  4. 8 0
      Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144.asset.meta
  5. 3 0
      Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144_P1.asset
  6. 8 0
      Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144_P1.asset.meta
  7. 3 0
      Assets/CardBaseEntity/P/Black/Digimon/MameTyramon-P-141.asset
  8. 8 0
      Assets/CardBaseEntity/P/Black/Digimon/MameTyramon-P-141.asset.meta
  9. 8 0
      Assets/CardBaseEntity/P/Blue/DigiEgg.meta
  10. 3 0
      Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148.asset
  11. 8 0
      Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148.asset.meta
  12. 3 0
      Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148_P1.asset
  13. 8 0
      Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148_P1.asset.meta
  14. 3 0
      Assets/CardBaseEntity/P/Blue/Digimon/Veedramon-P-138.asset
  15. 8 0
      Assets/CardBaseEntity/P/Blue/Digimon/Veedramon-P-138.asset.meta
  16. 3 0
      Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143.asset
  17. 8 0
      Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143.asset.meta
  18. 3 0
      Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143_P1.asset
  19. 8 0
      Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143_P1.asset.meta
  20. 3 0
      Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150.asset
  21. 8 0
      Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150.asset.meta
  22. 3 0
      Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150_P1.asset
  23. 8 0
      Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150_P1.asset.meta
  24. 3 0
      Assets/CardBaseEntity/P/Green/Digimon/Galemon-P-132.asset
  25. 8 0
      Assets/CardBaseEntity/P/Green/Digimon/Galemon-P-132.asset.meta
  26. 3 0
      Assets/CardBaseEntity/P/Green/Digimon/MegaKabuterimon-P-140.asset
  27. 8 0
      Assets/CardBaseEntity/P/Green/Digimon/MegaKabuterimon-P-140.asset.meta
  28. 3 0
      Assets/CardBaseEntity/P/Green/Digimon/Pteromon-P-131.asset
  29. 8 0
      Assets/CardBaseEntity/P/Green/Digimon/Pteromon-P-131.asset.meta
  30. 3 0
      Assets/CardBaseEntity/P/Green/Tamer/Shoto_Kazama-P-133.asset
  31. 8 0
      Assets/CardBaseEntity/P/Green/Tamer/Shoto_Kazama-P-133.asset.meta
  32. 8 0
      Assets/CardBaseEntity/P/Purple/DigiEgg.meta
  33. 3 0
      Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149.asset
  34. 8 0
      Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149.asset.meta
  35. 3 0
      Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149_P1.asset
  36. 8 0
      Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149_P1.asset.meta
  37. 3 0
      Assets/CardBaseEntity/P/Purple/Digimon/Falcomon-P-142.asset
  38. 8 0
      Assets/CardBaseEntity/P/Purple/Digimon/Falcomon-P-142.asset.meta
  39. 3 0
      Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145.asset
  40. 8 0
      Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145.asset.meta
  41. 3 0
      Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145_P1.asset
  42. 8 0
      Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145_P1.asset.meta
  43. 3 0
      Assets/CardBaseEntity/P/Red/Digimon/Flamedramon-P-137.asset
  44. 8 0
      Assets/CardBaseEntity/P/Red/Digimon/Flamedramon-P-137.asset.meta
  45. 3 0
      Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151.asset
  46. 8 0
      Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151.asset.meta
  47. 3 0
      Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151_P1.asset
  48. 8 0
      Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151_P1.asset.meta
  49. 3 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Leomon_(X_Antibody)-P-139.asset
  50. 8 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Leomon_(X_Antibody)-P-139.asset.meta
  51. 3 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147.asset
  52. 8 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147.asset.meta
  53. 3 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P1.asset
  54. 8 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P1.asset.meta
  55. 3 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P2.asset
  56. 8 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P2.asset.meta
  57. 3 0
      Assets/CardBaseEntity/P/Yellow/Digimon/ShoeShoemon-P-135.asset
  58. 8 0
      Assets/CardBaseEntity/P/Yellow/Digimon/ShoeShoemon-P-135.asset.meta
  59. 3 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Shoemon-P-134.asset
  60. 8 0
      Assets/CardBaseEntity/P/Yellow/Digimon/Shoemon-P-134.asset.meta
  61. 3 0
      Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146.asset
  62. 8 0
      Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146.asset.meta
  63. 3 0
      Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146_P1.asset
  64. 8 0
      Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146_P1.asset.meta
  65. 3 0
      Assets/CardBaseEntity/P/Yellow/Tamer/Arisa_Kinosaki-P-136.asset
  66. 8 0
      Assets/CardBaseEntity/P/Yellow/Tamer/Arisa_Kinosaki-P-136.asset.meta
  67. 1 1
      Assets/Editor/AttachCardData.cs
  68. 8 0
      Assets/Editor/Fixing Scripts.meta
  69. 66 0
      Assets/Editor/Fixing Scripts/CleanUpClassName.cs
  70. 11 0
      Assets/Editor/Fixing Scripts/CleanUpClassName.cs.meta
  71. 67 0
      Assets/Editor/Fixing Scripts/GetListOfInvalidClassNames.cs
  72. 11 0
      Assets/Editor/Fixing Scripts/GetListOfInvalidClassNames.cs.meta
  73. 396 0
      Assets/Editor/JSONLoader_CardEntity.cs
  74. 11 0
      Assets/Editor/JSONLoader_CardEntity.cs.meta
  75. 83 0
      Assets/Scripts/JsonSerializedClass.cs
  76. 11 0
      Assets/Scripts/JsonSerializedClass.cs.meta
  77. 13 0
      Assets/Scripts/LoadJSON_CardEntity.cs
  78. 11 0
      Assets/Scripts/LoadJSON_CardEntity.cs.meta

+ 3 - 0
Assets/CardBaseEntity/CardEntity_JSONLoader.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7a793ada563bd06b841db293f3fcd0b7cd4aaf306e0ba36325cc23fa90174b3a
+size 455

+ 8 - 0
Assets/CardBaseEntity/CardEntity_JSONLoader.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 09a7b0e0616840d459b9d34dc3076155
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d039551676dadb61a387eb5ea7b8c5bbd290f85e163e8d431cb4291641ffbd16
+size 1466

+ 8 - 0
Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3bacafe6e7140364c9113f751eed26f8
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:38b5890b0439362ad345b4945d659ff92cb7619a71a591732663e5335e5b04e5
+size 1472

+ 8 - 0
Assets/CardBaseEntity/P/Black/Digimon/Gotsumon_(X_Antibody)-P-144_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 362a8a85a8106244a8b331c2f22cdc08
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Black/Digimon/MameTyramon-P-141.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d4fdec81dbec685e1e056e1a056f220f64ef144ec0cb2b54dc40a1ba80000757
+size 1647

+ 8 - 0
Assets/CardBaseEntity/P/Black/Digimon/MameTyramon-P-141.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0cdaea2c5d842684b93f26fade928dcf
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/CardBaseEntity/P/Blue/DigiEgg.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3116558fe6ca3184198a3a4b6bbdd0b1
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7fb797db2abe6bc0d4c667ec6093ed55863a9a837fd7c028434146fb172c1e32
+size 1105

+ 8 - 0
Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c2f6a08dd624c264881c9261a4d1ec8d
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f3a627d954a3df95db31a3024cc9396062b68a635e4f5348be0cd590569eef27
+size 1111

+ 8 - 0
Assets/CardBaseEntity/P/Blue/DigiEgg/Wanyamon-P-148_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a10176f7ce1006a4883066522c6d92f2
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Blue/Digimon/Veedramon-P-138.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cb2c5c27cca7964d06af5d98aadd7466dd9f4a8f6eb5534481f61fb936807aea
+size 1359

+ 8 - 0
Assets/CardBaseEntity/P/Blue/Digimon/Veedramon-P-138.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fbe10886d8009b243884bc57e8e1b36e
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ff025169cfbfa9e3a8b7ac10d414e406651fb632b503dd1da24292d555ef9aee
+size 1181

+ 8 - 0
Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 88dd31e0a76713e48a6f919f2a6991d4
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0a8b4ff9d846baa7cf3e3ba6374536ae77b73185885cdc86c32869af393d0a6b
+size 1187

+ 8 - 0
Assets/CardBaseEntity/P/Green/Digimon/Drimogemon-P-143_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8969760c81a9df84d8b3c9d591c64ebe
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:809362e7e4114260a08e7e20c69212e0ebc2176b1fd990f6b249d3c07e393aa2
+size 1475

+ 8 - 0
Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fd6ac0b5fc5bdaf498d5e9fe52660e71
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:160f275d3fff697b12a48d3d2445407fda331e0601202ab7fd4152bd54f1a4a3
+size 1481

+ 8 - 0
Assets/CardBaseEntity/P/Green/Digimon/Exermon-P-150_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 564b4b8e9c8f69a48bf13c55e0c9a0b5
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Digimon/Galemon-P-132.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4ed9db8e6a8a4304edd2d526098efc5c36f83a2eef210d8a063eda1c28adc7b4
+size 1305

+ 8 - 0
Assets/CardBaseEntity/P/Green/Digimon/Galemon-P-132.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 35c6ca847a511834abee752dd8e012f5
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Digimon/MegaKabuterimon-P-140.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:57a8687511034d52e4ccb81fb20b5dfc7288ada982316f5a756c1bf65cd2f5f1
+size 1471

+ 8 - 0
Assets/CardBaseEntity/P/Green/Digimon/MegaKabuterimon-P-140.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 067c818593f15904292100d76f88943f
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Digimon/Pteromon-P-131.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:67a1ecffdcf4376dd576bf406e06561d85a19f38b7368dd43ae613679378dd36
+size 1152

+ 8 - 0
Assets/CardBaseEntity/P/Green/Digimon/Pteromon-P-131.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b00372efcf5658c42ad76bf91c5df4c3
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Green/Tamer/Shoto_Kazama-P-133.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e76ff16a9852f8d72c4198961bd97d70da731a437a2e70a0e91c2e25d0ab8905
+size 1313

+ 8 - 0
Assets/CardBaseEntity/P/Green/Tamer/Shoto_Kazama-P-133.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ede9619666b7b9e42885a1e9736445c5
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/CardBaseEntity/P/Purple/DigiEgg.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1da31afd51c664e4a8b63e52e9067fac
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:56ef298ea534f1e0fe77f2cb08e88121a4af7614d30354167416b0559810c44d
+size 1156

+ 8 - 0
Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c5485c11034a11347bf74993742358e5
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:66b376412e978ad7ff008078a717ea6b792539d731f44e4102d5d7900e327a4d
+size 1162

+ 8 - 0
Assets/CardBaseEntity/P/Purple/DigiEgg/Minomon-P-149_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3a5ac411d3a53b14c8f694d1a775b11d
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Purple/Digimon/Falcomon-P-142.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a0a1e9ca10f3393a7af832433685d17dce3b11ef3f1cebc80505476ded56953c
+size 1484

+ 8 - 0
Assets/CardBaseEntity/P/Purple/Digimon/Falcomon-P-142.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1df8f427432c8c6489a2b6154cd23364
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6183c4ca49bb4a29f7b9312a69b80a2799a2b61b6e59462b3f724e4a85394164
+size 1423

+ 8 - 0
Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c35ed482dc894d842bca3e3f840cd7ec
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:008059d8d0b1194328de3cf2c55fe9c573bba056d20b2d2eac12ff1f5519cb51
+size 1429

+ 8 - 0
Assets/CardBaseEntity/P/Purple/Digimon/Myotismon_(X_Antibody)-P-145_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dceb2592a41528d4d99d5ab25f096fe1
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Red/Digimon/Flamedramon-P-137.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:054329f5f9d93e65e9226521e65f18e3be953d68716736b07826ce41dfa9fcd8
+size 1347

+ 8 - 0
Assets/CardBaseEntity/P/Red/Digimon/Flamedramon-P-137.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8d6f2508edcc1614a90cc3838114e6fc
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3e52b8779deb4eb1ebba0479d530da638823fe9bc1cf49ee0c1fd0f4c4bbdfcd
+size 1487

+ 8 - 0
Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0cd79dfaea820654299a03a40b44a7dd
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:98c2feeca23342956654bc9f10957da294e71e3cd362b63b084892ff65569ff5
+size 1493

+ 8 - 0
Assets/CardBaseEntity/P/White/Option/Digimon_Liberator-P-151_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9cc34051767c68b47a0d9c58bcceba89
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Leomon_(X_Antibody)-P-139.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3b31b8db72294178ef64907e0f6dd1bf6c880b3d10a324d9705b34db0178eb57
+size 1578

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Leomon_(X_Antibody)-P-139.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 221a304e45673f842b9bf4d99af9e70c
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b3423fedc148eaa49db36aadf5f14a78460a2e07e04f040cbab5828f0624848e
+size 1420

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5da84928e2535f040bd80220ca2d5397
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fb94796f4eb048a93b72340ad7789018bc0552629d509449ee3ca7e0b4c92cb2
+size 1426

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fa218108d5366e2448103b258fb9c890
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P2.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:15dc9e209493f6091ee41f6b416bffb687565e5ada1fd07d0d51804e028c9e8f
+size 1426

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Pal-P-147_P2.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1fc84f81a0a0d844e8aa1b091bb634fe
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/ShoeShoemon-P-135.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fcea43f1894e32006617ef7dc5f27f522af475b7dfcf4e25a2b303ef88e8acb5
+size 1399

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/ShoeShoemon-P-135.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9582873bea3941642bce310d047d8144
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Shoemon-P-134.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cfa4a868a245761b5fc8f9063ac24ec572e74a3e035785924687f6389483c65b
+size 1259

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Digimon/Shoemon-P-134.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 96282721ff848f04895b75300e6a274b
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c3ce7c0478df081d529091dc3fcd1a8ef4a7ca38c3f19139f08010b333cf44e8
+size 1478

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b712bc580903ca844805cea3f9196c43
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146_P1.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:13f557e956546e58a5efb16d4d901ca5feb3293847b208e122a65a4eecbaa63d
+size 1484

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Option/Recharge_Plug-In_Q-P-146_P1.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 08bffc393060c28459d64bea8e6e4979
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/CardBaseEntity/P/Yellow/Tamer/Arisa_Kinosaki-P-136.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:252cdf81f8801a388c29634ec7e4372c583795887f6775c22ced9bfc95fa4735
+size 1293

+ 8 - 0
Assets/CardBaseEntity/P/Yellow/Tamer/Arisa_Kinosaki-P-136.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b7a798ffb8160e544a113e8eccbe0ee7
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Editor/AttachCardData.cs

@@ -12,7 +12,7 @@ public class AttachCardData : MonoBehaviour
     {
         List<CEntity_Base> List = GetAsset.LoadAll<CEntity_Base>("Assets/CardBaseEntity/");
 
-        List<string> UnimplementedCardIDs = new List<string>() { "BT10-084", "BT12-044" };
+        List<string> UnimplementedCardIDs = new List<string>() { "BT10-084", "BT12-044", "P-137", "P-138", "P-139", "P-140", "P-141", "P-142" };
 
         foreach (GameObject obj in Selection.gameObjects)
         {

+ 8 - 0
Assets/Editor/Fixing Scripts.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0eecb10b23bf22140b086092069658c6
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 66 - 0
Assets/Editor/Fixing Scripts/CleanUpClassName.cs

@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEditor.SceneManagement;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using DCGO.CardEntities;
+
+namespace DCGO.Tools.Repair{
+    public class CleanUpClassName : MonoBehaviour
+    {
+        [MenuItem("Window/DCGO/Repair/Fix Entity Class Names")]
+        static void FixEntityClassNames()
+        {
+            List<CEntity_Base> List = GetAsset.LoadAll<CEntity_Base>("Assets/CardBaseEntity/");
+
+            foreach (CEntity_Base card in List)
+            {
+                card.CardEffectClassName = FixCharactersInClassName(card.CardEffectClassName);
+                EditorUtility.SetDirty(card);
+            }
+                
+
+            Debug.Log("Fixed all class names in CardBaseEntity");
+            return;
+
+            //Parse ScriptableObject Class Name
+            string FixCharactersInClassName(string str)
+            {
+                string name = str;
+
+                name = FixCharactersInName(name);
+
+                name = name
+                    .Replace("-", "_")
+                    .Replace(".", "")
+                    .Replace("'", "")
+                    .Replace("&", "And")
+                    .Replace("(", "")
+                    .Replace(")", "");
+
+                return name;
+            }
+
+            //Parse ScriptableObject Name
+            string FixCharactersInName(string str)
+            {
+                string name = str;
+
+                name = name
+                    .Replace(" ", "_")
+                    .Replace(":", "")
+                    .Replace("?", "")
+                    .Replace("!", "")
+                    .Replace("<", "")
+                    .Replace(">", "");
+
+                return name;
+            }
+        }
+
+        
+    }
+}
+

+ 11 - 0
Assets/Editor/Fixing Scripts/CleanUpClassName.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5a47d53c3e3059143a9e75c648f09280
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 67 - 0
Assets/Editor/Fixing Scripts/GetListOfInvalidClassNames.cs

@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEditor.SceneManagement;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using DCGO.CardEntities;
+
+namespace DCGO.Tools.Repair 
+{
+    public class GetListOfInvalidClassNames : MonoBehaviour
+    {
+        [MenuItem("Window/DCGO/Repair/Get List of Invalid Class Names")]
+        static void FixEntityClassNames()
+        {
+            List<CEntity_Base> Entities = GetAsset.LoadAll<CEntity_Base>("Assets/CardBaseEntity/");
+            List<string> InvalidClassNames = new List<string>();
+
+            foreach (CEntity_Base card in Entities)
+            {
+                if (CanAttachEffectComponent(card.SetID, card.CardEffectClassName))
+                    continue;
+
+                if (card.EffectDiscription_ENG.Equals("")
+                    && card.InheritedEffectDiscription_ENG.Equals("")
+                    && card.SecurityEffectDiscription_ENG.Equals(""))
+                    continue;
+
+                if (card.EffectDiscription_ENG.Equals("-") 
+                    && card.InheritedEffectDiscription_ENG.Equals("-")
+                    && card.SecurityEffectDiscription_ENG.Equals("-"))
+                    continue;
+
+                if(InvalidClassNames.Contains(card.CardEffectClassName))
+                    continue;
+
+                InvalidClassNames.Add(card.CardEffectClassName);
+                Debug.LogError($"Invalid Class Name: {card.name} - {card.CardEffectClassName}");
+            }
+
+            Debug.Log($"Total Invalid Class Names: {InvalidClassNames.Count}");
+
+            bool CanAttachEffectComponent(string ID, string ClassName)
+            {
+                if (string.IsNullOrEmpty(ClassName))
+                    return false;
+
+                if (Type.GetType(ClassName + ",Assembly-CSharp") == null)
+                {
+                    if (!ClassName.Contains("token"))
+                    {
+                        if (Type.GetType($"DCGO.CardEffects.{ID}.{ClassName},Assembly-CSharp") == null)
+                            return false;
+                    }
+                    else
+                    {
+                        if (Type.GetType($"DCGO.CardEffects.Tokens.{ClassName},Assembly-CSharp") == null)
+                            return false;
+                    }
+                }
+                
+                return true;
+            }
+        }
+    }
+}

+ 11 - 0
Assets/Editor/Fixing Scripts/GetListOfInvalidClassNames.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8e72e82afeed9cf47b793f2e5f64919b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 396 - 0
Assets/Editor/JSONLoader_CardEntity.cs

@@ -0,0 +1,396 @@
+using System;
+using System.IO;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using Unity.EditorCoroutines.Editor;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.Networking;
+using System.Drawing.Text;
+
+namespace DCGO.CardEntities
+{
+    [CustomEditor(typeof(LoadJSON_CardEntity))]
+    public class JSONLoader_CardEntity : Editor
+    {
+        LoadJSON_CardEntity _loadJSON;
+        string baseURL = "https://raw.githubusercontent.com/TakaOtaku/Digimon-Card-App/main/src/";
+
+        public List<CardData> _cardData;
+
+        string cardIDString = "";
+
+        public override void OnInspectorGUI()
+        {
+            _loadJSON = target as LoadJSON_CardEntity;
+            DrawDefaultInspector();
+
+            if (GUILayout.Button("Get JSON Object"))
+                EditorCoroutineUtility.StartCoroutine(GetJsonData(_loadJSON), this);
+
+            if (_cardData != null)
+            {
+                GUILayout.Label("Card ID: ");
+                cardIDString = GUILayout.TextField(cardIDString, 10).ToUpper();
+
+                if (cardIDString != "")
+                {
+                    if (GUILayout.Button("Create Scriptable Object"))
+                    {
+                        List<CardData> card = _cardData.Where(x => x.cardNumber.Contains(cardIDString)).ToList();
+                        SetDataToScriptableObject(card);
+                    }
+                }
+            }
+        }
+
+        IEnumerator GetJsonData(LoadJSON_CardEntity loadJSON)
+        {
+            string url = baseURL + "assets/cardlists/DigimonCards.json";
+            UnityWebRequest jsonWebRequest = UnityWebRequest.Get(url);
+
+            yield return jsonWebRequest.SendWebRequest();
+
+            if (jsonWebRequest.result != UnityWebRequest.Result.Success)
+            {
+                Debug.Log(jsonWebRequest.error);
+            }
+            else
+            {
+               
+                RootObject root = JsonUtility.FromJson<RootObject>("{\"cards\":" + jsonWebRequest.downloadHandler.text + "}");
+                _cardData = root.cards;
+            }
+
+            yield return null;
+        }
+
+        void SetDataToScriptableObject(List<CardData> data)
+        {
+            foreach (CardData card in data)
+            {
+                CreateScriptableObject(card, card.cardNumber);
+                CreateAA(card);
+            }
+        }
+
+        string GetImageURL(string url, string ID, List<AlternateArt> AA)
+        {
+            string[] urlSplit = url.Split(".");
+            string startURL = urlSplit[0].Substring(0, urlSplit[0].LastIndexOf("/"));
+
+            if (!ID.Contains("Errata") && !ID.Contains("_") && AA.Count > 0)
+            {
+                AlternateArt errata = AA.Where(x => x.id.StartsWith(ID) && x.id.Contains("Errata")).FirstOrDefault();
+
+                if (errata != null)
+                    ID = errata.id;
+            }
+
+            return $"{ID}";
+        }
+
+
+        void CreateScriptableObject(CardData card, string imageID)
+        {
+            // CardEntity‚ instance created
+            CEntity_Base cardEntity = CreateInstance<CEntity_Base>();
+
+            cardEntity.cardColors = GetCardColors(card.color);
+
+            cardEntity.PlayCost = intParse(card.playCost);
+            cardEntity.EvoCosts = GetEvoCosts(card.digivolveCondition,cardEntity.cardColors);
+
+            cardEntity.Level = levelParse(card.cardLv);
+            cardEntity.CardName_ENG = card.name.english;
+
+            cardEntity.Form_ENG = GetCardInfo(card.form);
+            cardEntity.Attribute_ENG = GetCardInfo(card.attribute);
+            cardEntity.Type_ENG = GetCardInfo(card.type);
+
+            cardEntity.CardSpriteName = GetImageURL(card.cardImage, imageID, card.AAs);
+
+            cardEntity.cardKind = DictionaryUtility.GetCardKind(card.cardType.Replace("-",""), DataBase.CardKindENNameDictionary);
+
+            cardEntity.EffectDiscription_ENG = GetEffectDescription(card);
+            cardEntity.InheritedEffectDiscription_ENG = card.digivolveEffect;
+            cardEntity.SecurityEffectDiscription_ENG = card.securityEffect;
+
+            cardEntity.CardEffectClassName = FixCharactersInClassName($"{card.name.english.Replace(" ", "")}_{card.cardNumber}");
+
+            cardEntity.DP = intParse(card.dp);
+            cardEntity.rarity = (Rarity)Enum.Parse(typeof(Rarity), card.rarity);
+            cardEntity.OverflowMemory = GetOverflowMemory(card.aceEffect);
+            cardEntity.CardID = card.id;
+            cardEntity.MaxCountInDeck = GetMaxCount(card.restrictions.japanese);
+
+            cardEntity.name = FixCharactersInName($"{cardEntity.CardName_ENG}-{cardEntity.CardSpriteName}"); 
+            cardEntity.CardIndex = GetCardIndex(cardEntity);
+            Debug.Log($"created: {cardEntity.name}");
+
+            SaveScriptableObject(cardEntity);
+        }
+
+        void CreateAA(CardData data)
+        {
+            foreach (AlternateArt AA in data.AAs)
+            {
+                if (!AA.id.Contains("_"))
+                    continue;
+
+                CreateScriptableObject(data, AA.id);
+            }
+        }
+
+        #region Save Scriptable Object
+        void SaveScriptableObject(CEntity_Base entity)
+        {
+            string fileName = $"{entity.name}.asset";
+
+            string folderName_SetID = $"{entity.SetID}";
+            string folderName_CardColor = $"{DataBase.CardColorNameDictionary[entity.cardColors[0]]}";
+            folderName_CardColor = char.ToUpper(folderName_CardColor[0]) + folderName_CardColor.Substring(1);
+
+            string folderName_CardKind = $"{DataBase.CardKindENNameDictionary[entity.cardKind]}";
+            string folderPath = $"Assets/CardBaseEntity/{folderName_SetID}/{folderName_CardColor}/{folderName_CardKind}";
+            string filePath = $"{folderPath}/{fileName}".Trim().Replace("\t", "").Replace("\n", "").Replace("\r", "").Replace(" ", "");
+
+            if (!Directory.Exists(folderPath))
+                Directory.CreateDirectory(folderPath);
+
+            if(File.Exists(filePath))
+            {
+                Debug.Log($"{entity.name} already exists");
+                CEntity_Base asset = (CEntity_Base)AssetDatabase.LoadAssetAtPath(filePath, typeof(CEntity_Base));
+                
+                entity.CardIndex = asset.CardIndex;
+
+                EditorUtility.CopySerialized(entity, asset);
+                AssetDatabase.SaveAssets();
+            }
+            else
+            {
+                AssetDatabase.CreateAsset(entity, filePath);
+            }
+
+            AssetDatabase.Refresh();
+
+            Debug.Log($"{entity.name}: Scriptable Object Created");
+        }
+        #endregion
+
+        #region Parsing Methods
+
+        //Get Card Index
+        int GetCardIndex(CEntity_Base entity)
+        {
+            int index = _loadJSON.setCardIndex;
+
+            if (entity.SetID.Equals("P"))
+            {
+                index = _loadJSON.promoCardIndex;
+                _loadJSON.promoCardIndex++;
+            }
+            else
+                _loadJSON.setCardIndex++;
+
+            EditorUtility.SetDirty(_loadJSON);
+
+            return index;
+        }
+
+        //Parse ScriptableObject Name
+        string FixCharactersInName(string str)
+        {
+            string name = str;
+
+            name = name
+                .Replace(" ", "_")
+                .Replace(":","")
+                .Replace("?","")
+                .Replace("!","")
+                .Replace("<", "")
+                .Replace(">", "");
+
+            return name;
+        }
+
+        //Parse ScriptableObject Class Name
+        public string FixCharactersInClassName(string str)
+        {
+            string name = str;
+
+            name = FixCharactersInName(name);
+
+            name = name
+                .Replace("-", "_")
+                .Replace(".", "")
+                .Replace("'", "")
+                .Replace("&", "And")
+                .Replace("(", "")
+                .Replace(")", "");
+
+            return name;
+        }
+
+        //Parse effect description
+        string GetEffectDescription(CardData card)
+        {
+            string effect = "-";
+            List<string> effects = new List<string>();
+
+            if (card.specialDigivolve != "-")
+                effects.Add($"{card.specialDigivolve}");
+
+            if(card.effect != "-")
+                effects.Add($"{card.effect}");
+
+            if(card.digiXros != "-")
+                effects.Add($"{card.digiXros}");
+
+            if (effects.Count > 0)
+            {
+                effect = "";
+
+                string lastEffect = effects.Last();
+                foreach (string e in effects)
+                {
+                    effect += $"{e}";
+
+                    if (!e.Equals(lastEffect))
+                        effect += "\n\n";
+                }
+                
+            }
+
+            return effect;
+        }
+        //Parse card info split by "/" to list
+        List<string> GetCardInfo(string str)
+        {
+            List<string> strings = new List<string>();
+
+            foreach (string data in str.Split("/"))
+            {
+                strings.Add(data.Trim());
+            }
+
+            return strings;
+        }
+
+        //Parse digivolve conditions to list
+        List<EvoCost> GetEvoCosts(List<DigivolveCondition> digivolveConditions, List<CardColor> cardColors)
+        {
+            List<EvoCost> evoCosts = new List<EvoCost>();
+
+            foreach (DigivolveCondition digivolveCondition in digivolveConditions)
+            {
+                if (digivolveCondition.color.ToLower() == "all")
+                {
+                    foreach (CardColor color in DataBase.cardColors)
+                    {
+                        if (color == CardColor.White || color == CardColor.None)
+                            continue;
+
+                        EvoCost evoCost = new EvoCost();
+
+                        evoCost.CardColor = color;
+
+                        evoCost.Level = int.Parse(digivolveCondition.level);
+                        evoCost.MemoryCost = int.Parse(digivolveCondition.cost);
+
+                        evoCosts.Add(evoCost);
+                    }
+                }
+                else
+                {
+                    EvoCost evoCost = new EvoCost();
+
+                    if (digivolveCondition.color.ToLower() == "")
+                        evoCost.CardColor = cardColors[0];
+                    else
+                        evoCost.CardColor = DictionaryUtility.GetCardColor(digivolveCondition.color.ToLower(), DataBase.CardColorNameDictionary);
+
+                    evoCost.Level = int.Parse(digivolveCondition.level);
+                    evoCost.MemoryCost = int.Parse(digivolveCondition.cost);
+
+                    evoCosts.Add(evoCost);
+                }
+            }
+
+            return evoCosts;
+        }
+
+        //Parse card colors to list
+        List<CardColor> GetCardColors(string colors)
+        {
+            List<CardColor> cardColors = new List<CardColor>();
+
+            foreach (string cardColorName in colors.Split("/"))
+            {
+                foreach (string cardColorNameValues in DataBase.CardColorNameDictionary.Values)
+                {
+                    if (cardColorName.ToLower().Trim() == cardColorNameValues)
+                    {
+                        cardColors.Add(DictionaryUtility.GetCardColor(cardColorName.ToLower().Trim(), DataBase.CardColorNameDictionary));
+                    }
+                }
+            }
+
+            return cardColors;
+        }
+
+        //Parse overflow memory
+        int GetOverflowMemory(string aceEffect)
+        {
+            int value = 0;
+
+            if(aceEffect != "-")
+            {
+                int startIndex = aceEffect.IndexOf("\uff1c") + 1;
+                int endIndex = aceEffect.IndexOf("\uff1e") - startIndex;
+                string overflowMemory = aceEffect.Substring(startIndex, endIndex);
+
+                if (int.TryParse(overflowMemory, out value))
+                    return Math.Abs(value);
+            }
+
+            return value;
+        }
+
+        //Parse Max count in deck
+        int GetMaxCount(string restriction)
+        {
+            int value = 4;
+            if (restriction == "Banned")
+                value = 0;
+
+            if(restriction.StartsWith("Restricted"))
+                value = int.Parse(restriction.Substring(restriction.Length-1));
+
+            return value;
+        }
+
+        int intParse(string str)
+        {
+            int value = 0;
+
+            if (int.TryParse(str, out value))
+                return value;
+
+            return value;
+        }
+
+        int levelParse(string str)
+        {
+            int value = 0;
+
+            if (str.Contains("Lv") && int.TryParse(str.Substring(3, 1), out value))
+                return value;
+
+            return value;
+        }
+        #endregion
+    }
+}

+ 11 - 0
Assets/Editor/JSONLoader_CardEntity.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3df56444aa4cb8c458614eaa845f7245
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 83 - 0
Assets/Scripts/JsonSerializedClass.cs

@@ -0,0 +1,83 @@
+using System.Collections.Generic;
+using System;
+using UnityEngine;
+
+namespace DCGO.CardEntities
+{
+    [Serializable]
+    public class RootObject
+    {
+        public List<CardData> cards;
+    }
+
+    [Serializable]
+    public class CardData
+    {
+        public List<AlternateArt> AAs;
+        public List<AlternateArt> JAAs;
+
+        public string aceEffect;
+        public string attribute;
+        public List<string> block;
+        public string burstDigivolve;
+        public string cardImage;
+        public string cardLv;
+        public string cardNumber;
+        public string cardType;
+        public string color;
+        public string digiXros;
+        public List<DigivolveCondition> digivolveCondition;
+        public string digivolveEffect;
+        public string dnaDigivolve;
+        public string dp;
+        public string effect;
+        public string form;
+        public string id;
+        public string illustrator;
+        public CardName name;
+        public string notes;
+        public string playCost;
+        public string rarity;
+        public Restriction restrictions;
+        public string securityEffect;
+        public string specialDigivolve;
+        public string type;
+        public string version;
+    }
+
+    [Serializable]
+    public class AlternateArt
+    {
+        public string id;
+        public string illustrator;
+        public string note;
+        public string type;
+    }
+
+    [Serializable]
+    public class DigivolveCondition
+    {
+        public string color;
+        public string cost;
+        public string level;
+    }
+
+    [Serializable]
+    public class CardName
+    {
+        public string english;
+        public string japanese;
+        public string korean;
+        public string simplifiedChinese;
+        public string traditionalChinese;
+    }
+
+    [Serializable]
+    public class Restriction
+    {
+        public string english;
+        public string japanese;
+        public string korean;
+        public string chinese;
+    }
+}

+ 11 - 0
Assets/Scripts/JsonSerializedClass.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9d9d143a6230f8c44a8a86f632a9fafc
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 13 - 0
Assets/Scripts/LoadJSON_CardEntity.cs

@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace DCGO.CardEntities
+{
+    [CreateAssetMenu(fileName = "CardEntity_JSONLoader", menuName = "Create JSONLoader/Create JSONLoader_CardEntity")]
+    public class LoadJSON_CardEntity : ScriptableObject
+    {
+        public int setCardIndex;
+        public int promoCardIndex;
+    }
+}

+ 11 - 0
Assets/Scripts/LoadJSON_CardEntity.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f9ac13da4f60f1c4cb0d1a4e2c3b986c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: