Merge branch 'main' of http://10.27.16.144:3000/kawagiri/TH1 into main
This commit is contained in:
commit
fa57beaa6c
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -24505,7 +24505,7 @@
|
||||
[Debug][OPS.OBF][Setup] Load Pipeline
|
||||
[Info][OPS.OBF][OnPostBuild] Process component Post Process Unity MonoBehaviour Assets
|
||||
[Info][OPS.OBF][OnPostBuild] Assets are not bundled. Obfuscating globalgamemanagers.assets file.
|
||||
[Info][OPS.OBF][OnPostBuild] Obfuscating globalgamemanagers.assets file 'F:\TH1\Pack\Demo V1.0.4\TOHOTOPIA Demo_Data\globalgamemanagers.assets'.
|
||||
[Info][OPS.OBF][OnPostBuild] Obfuscating globalgamemanagers.assets file 'F:\TH1\Pack\Demo V1.0.5\TOHOTOPIA Demo_Data\globalgamemanagers.assets'.
|
||||
[Debug][OPS.OBF][OnPostBuild] Loaded globalgamemanagers.assets file successfully.
|
||||
[Debug][OPS.OBF][OnPostBuild] Obfuscated '54' MonoScripts in assets file 'globalgamemanagers.assets'.
|
||||
[Debug][OPS.OBF][OnPostBuild] Updated globalgamemanagers.assets file successfully.
|
||||
|
||||
@ -27,7 +27,7 @@ MonoBehaviour:
|
||||
_version: 3.33
|
||||
_category:
|
||||
_comments:
|
||||
_translation: {x: 417, y: 10}
|
||||
_translation: {x: 363, y: 488}
|
||||
_zoomFactor: 1
|
||||
_haltSerialization: 0
|
||||
_externalSerializationFile: {fileID: 0}
|
||||
|
||||
@ -23,6 +23,8 @@ MonoBehaviour:
|
||||
MoveAnimTime: 0.15
|
||||
ExplorerMoveDelay: 0.15
|
||||
AIBeforeAnimWaitTime: 0.3
|
||||
AISightActionWaitTime: 0.2
|
||||
AINoSightActionWaitTime: 0.05
|
||||
AIAnimCameraMoveTime: 0.3
|
||||
ProjectileMoveTime: 0.3
|
||||
ProjectileBombMoveTime: 0.5
|
||||
|
||||
@ -126,4 +126,8 @@ MonoBehaviour:
|
||||
- SkillType: 62
|
||||
SkillDesc:
|
||||
- SkillType: 63
|
||||
SkillDesc: "<color=yellow>\u9635\u8425\u7279\u6027</color><br>\u5996\u7CBE\u5973\u4EC6\uFF1A\u53EF\u4EE5\u5728\u9886\u571F\u5185\u7684<color=yellow>\u6811\u6797</color>\u751F\u4EA7\u6B65\u5175\u3002"
|
||||
- SkillType: 64
|
||||
SkillDesc: "<color=yellow>\u5E1D\u56FD\u7279\u6027</color><br>\u5C3C\u7F57\u6CB3\u7684\u5973\u513F\uFF1A\u5F00\u5C40\u65F6\u62E5\u6709<color=yellow>\u8015\u79CD</color>\u79D1\u6280\u3002"
|
||||
- SkillType: 65
|
||||
SkillDesc:
|
||||
|
||||
@ -18,6 +18,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u6B65\u5175"
|
||||
Desc: "\u57FA\u7840\u5355\u4F4D\u3002\u62E5\u6709<color=yellow>\u51B2\u950B</color>\u548C<color=yellow>\u57CE\u9632</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -108,6 +109,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u6E38\u9A91\u5175"
|
||||
Desc: "\u9AD8\u673A\u52A8\u6027\u5355\u4F4D\u3002\u62E5\u67092\u79FB\u52A8\u529B\u548C<color=yellow>\u51B2\u523A</color>\u3001<color=yellow>\u57CE\u9632</color>\u3001<color=yellow>\u9041\u8D70</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -198,6 +200,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u5F13\u5175"
|
||||
Desc: "\u8FDC\u7A0B\u5355\u4F4D\uFF0C\u62E5\u67092\u5C04\u7A0B\u548C<color=yellow>\u51B2\u950B</color>\u3001<color=yellow>\u57CE\u9632</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -288,6 +291,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u76FE\u5175"
|
||||
Desc: "\u9632\u5FA1\u5355\u4F4D\u3002\u62E5\u67093\u9632\u5FA1\u529B\u548C<color=yellow>\u57CE\u9632</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 15
|
||||
@ -378,6 +382,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u9A91\u58EB"
|
||||
Desc: "\u5F3A\u529B\u673A\u52A8\u5355\u4F4D\u3002\u62E5\u67093\u79FB\u52A8\u529B3.5\u653B\u51FB\u529B\u548C<color=yellow>\u51B2\u950B</color>\u3001<color=yellow>\u8FDE\u7EED\u6740\u654C</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -468,6 +473,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u70AE\u5175"
|
||||
Desc: "\u5F3A\u529B\u8FDC\u7A0B\u5355\u4F4D\u3002\u62E5\u67093\u5C04\u7A0B4\u653B\u51FB\u529B\u548C<color=yellow>\u57CE\u9632</color>\u6280\u80FD\u3002\u65E0\u6CD5\u53CD\u51FB\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -558,6 +564,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u5251\u58EB"
|
||||
Desc: "\u5F3A\u529B\u7EFC\u5408\u5355\u4F4D\u3002\u62E5\u67093\u9632\u5FA1\u529B3\u653B\u51FB\u529B\u548C<color=yellow>\u51B2\u950B</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 15
|
||||
@ -648,6 +655,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: Cloak
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 5
|
||||
@ -666,6 +674,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: Minder
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -684,6 +693,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u5E06\u8239"
|
||||
Desc: "\u57FA\u7840\u6D77\u4E0A\u5355\u4F4D\u3002\u62E5\u67092\u79FB\u52A8\u529B\uFF0C\u65E0\u6CD5\u653B\u51FB\u3002"
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -774,6 +784,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u514B\u62C9\u514B"
|
||||
Desc: "\u6D77\u4E0A\u8FDC\u7A0B\u5355\u4F4D\u3002\u62E5\u67093\u79FB\u52A8\u529B2\u5C04\u7A0B\u548C<color=yellow>\u5DE1\u6D0B</color>\u3001<color=yellow>\u51B2\u950B</color>\u6280\u80FD\u3002"
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -864,6 +875,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u7A81\u51FB\u8247"
|
||||
Desc: "\u6D77\u4E0A\u5F3A\u529B\u8FD1\u6218\u3002\u62E5\u67093\u79FB\u52A8\u529B3\u653B\u51FB\u529B3\u9632\u5FA1\u529B\u548C<color=yellow>\u51B2\u950B</color>\u6280\u80FD\u3002"
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -954,6 +966,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u6218\u8230"
|
||||
Desc: "\u6D77\u4E0A\u8D85\u5F3A\u8FDC\u7A0B\u3002\u62E5\u67092\u79FB\u52A8\u529B3.5\u653B\u51FB\u529B3\u5C04\u7A0B\u548C<color=yellow>\u6E85\u5C04</color>\u6280\u80FD\u3002\u65E0\u6CD5\u53CD\u51FB\u3002"
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -1044,6 +1057,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u5DE8\u4EBA"
|
||||
Desc: "\u8D85\u5F3A\u529B\u7EFC\u5408\u5355\u4F4D\u3002\u62E5\u670940\u8840\u91CF\u548C4\u653B\u51FB\u529B\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 40
|
||||
@ -1134,6 +1148,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: Phantom
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1152,6 +1167,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: Dabber
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1170,6 +1186,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u8299\u5170\u6735\u9732\xB7\u65AF\u5361\u96F7\u7279"
|
||||
Desc: "\u8299\u5170\u6735\u9732\xB7\u65AF\u5361\u96F7\u7279<br><color=yellow>\u9A6C</color>\u804C\u9636\u82F1\u96C4\uFF0C\u7834\u5C40\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u56DB\u91CD\u5B58\u5728</color>\u7B49\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -1188,6 +1205,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279"
|
||||
Desc: "\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279<br><color=yellow>\u738B</color>\u804C\u9636\u82F1\u96C4\uFF0C\u9632\u5FA1\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7EEF\u7EA2\u4E4B\u51FB</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1206,6 +1224,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u5341\u516D\u591C\u54B2\u591C"
|
||||
Desc: "\u5341\u516D\u591C\u54B2\u591C<br><color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u523A\u5BA2\u578B\u82F1\u96C4\uFF0C\u62E5\u6709<color=yellow>\u94F6\u4E4B\u8DF3\u8DC3</color>\u7B49\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1224,6 +1243,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u7EA2\u7F8E\u94C3"
|
||||
Desc: "\u7EA2\u7F8E\u94C3<br><color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u6218\u58EB\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u8679\u8272\u592A\u6781\u62F3</color>\u7B49\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1242,6 +1262,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: "\u5E15\u79CB\u8389\u8BFA\u857E\u59EC"
|
||||
Desc: "\u5E15\u79CB\u8389\u8BFA\u857E\u59EC<br><color=yellow>\u76F8</color>\u804C\u9636\u82F1\u96C4\uFF0C\u8F85\u52A9\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7687\u5BB6\u70C8\u7130</color>\u6280\u80FD\u3002"
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
|
||||
@ -23,6 +23,8 @@ MonoBehaviour:
|
||||
MoveAnimTime: 0.15
|
||||
ExplorerMoveDelay: 0.15
|
||||
AIBeforeAnimWaitTime: 0.3
|
||||
AISightActionWaitTime: 0.2
|
||||
AINoSightActionWaitTime: 0.05
|
||||
AIAnimCameraMoveTime: 0.3
|
||||
ProjectileMoveTime: 0.3
|
||||
ProjectileBombMoveTime: 0.5
|
||||
|
||||
@ -8322,4 +8322,196 @@ MonoBehaviour:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1324
|
||||
ZH: "\u5996\u7CBE\u5973\u4EC6\uFF1A\u53EF\u4EE5\u5728\u9886\u571F\u5185\u7684<color=yellow>\u6811\u6797</color>\u751F\u4EA7\u6B65\u5175\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1325
|
||||
ZH: "\u5C3C\u7F57\u6CB3\u7684\u5973\u513F\uFF1A\u5F00\u5C40\u65F6\u62E5\u6709<color=yellow>\u8015\u79CD</color>\u79D1\u6280\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1326
|
||||
ZH: "\u57FA\u7840\u5355\u4F4D\u3002\u62E5\u6709<color=yellow>\u51B2\u950B</color>\u548C<color=yellow>\u57CE\u9632</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1327
|
||||
ZH: "\u8FDC\u7A0B\u5355\u4F4D\uFF0C\u62E5\u67092\u5C04\u7A0B\u548C<color=yellow>\u51B2\u950B</color>\u3001<color=yellow>\u57CE\u9632</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1328
|
||||
ZH: "\u5F3A\u529B\u673A\u52A8\u5355\u4F4D\u3002\u62E5\u67093\u79FB\u52A8\u529B3.5\u653B\u51FB\u529B\u548C<color=yellow>\u51B2\u950B</color>\u3001<color=yellow>\u8FDE\u7EED\u6740\u654C</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1329
|
||||
ZH: "\u5F3A\u529B\u7EFC\u5408\u5355\u4F4D\u3002\u62E5\u67093\u9632\u5FA1\u529B3\u653B\u51FB\u529B\u548C<color=yellow>\u51B2\u950B</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1330
|
||||
ZH: "\u57FA\u7840\u6D77\u4E0A\u5355\u4F4D\u3002\u62E5\u67092\u79FB\u52A8\u529B\uFF0C\u65E0\u6CD5\u653B\u51FB\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1331
|
||||
ZH: "\u6D77\u4E0A\u8FDC\u7A0B\u5355\u4F4D\u3002\u62E5\u67093\u79FB\u52A8\u529B2\u5C04\u7A0B\u548C<color=yellow>\u5DE1\u6D0B</color>\u3001<color=yellow>\u51B2\u950B</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1332
|
||||
ZH: "\u6D77\u4E0A\u5F3A\u529B\u8FD1\u6218\u3002\u62E5\u67093\u79FB\u52A8\u529B3\u653B\u51FB\u529B3\u9632\u5FA1\u529B\u548C<color=yellow>\u51B2\u950B</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1333
|
||||
ZH: "\u6D77\u4E0A\u8D85\u5F3A\u8FDC\u7A0B\u3002\u62E5\u67092\u79FB\u52A8\u529B3.5\u653B\u51FB\u529B3\u5C04\u7A0B\u548C<color=yellow>\u6E85\u5C04</color>\u6280\u80FD\u3002\u65E0\u6CD5\u53CD\u51FB\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1334
|
||||
ZH: "<color=yellow>\u9A6C</color>\u804C\u9636\u82F1\u96C4\uFF0C\u7834\u5C40\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u56DB\u91CD\u5B58\u5728</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1335
|
||||
ZH: "<color=yellow>\u738B</color>\u804C\u9636\u82F1\u96C4\uFF0C\u9632\u5FA1\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7EEF\u7EA2\u4E4B\u51FB</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1336
|
||||
ZH: "<color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u523A\u5BA2\u578B\u82F1\u96C4\uFF0C\u62E5\u6709<color=yellow>\u94F6\u4E4B\u8DF3\u8DC3</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1337
|
||||
ZH: "<color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u6218\u58EB\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u8679\u8272\u592A\u6781\u62F3</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1338
|
||||
ZH: "<color=yellow>\u76F8</color>\u804C\u9636\u82F1\u96C4\uFF0C\u8F85\u52A9\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7687\u5BB6\u70C8\u7130</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1339
|
||||
ZH: "<color=yellow>\u9635\u8425\u7279\u6027</color>\\n\u5996\u7CBE\u5973\u4EC6\uFF1A\u53EF\u4EE5\u5728\u9886\u571F\u5185\u7684<color=yellow>\u6811\u6797</color>\u751F\u4EA7\u6B65\u5175\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1340
|
||||
ZH: "<color=yellow>\u5E1D\u56FD\u7279\u6027</color>\u5C3C\u7F57\u6CB3\u7684\u5973\u513F\uFF1A\u5F00\u5C40\u65F6\u62E5\u6709<color=yellow>\u8015\u79CD</color>\u79D1\u6280\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1341
|
||||
ZH: "\u8299\u5170\u6735\u9732\xB7\u65AF\u5361\u96F7\u7279\\n<color=yellow>\u9A6C</color>\u804C\u9636\u82F1\u96C4\uFF0C\u7834\u5C40\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u56DB\u91CD\u5B58\u5728</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1342
|
||||
ZH: "\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279\\n<color=yellow>\u738B</color>\u804C\u9636\u82F1\u96C4\uFF0C\u9632\u5FA1\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7EEF\u7EA2\u4E4B\u51FB</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1343
|
||||
ZH: "\u5341\u516D\u591C\u54B2\u591C\\n<color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u523A\u5BA2\u578B\u82F1\u96C4\uFF0C\u62E5\u6709<color=yellow>\u94F6\u4E4B\u8DF3\u8DC3</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1344
|
||||
ZH: "\u7EA2\u7F8E\u94C3\\n<color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u6218\u58EB\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u8679\u8272\u592A\u6781\u62F3</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1345
|
||||
ZH: "\u5E15\u79CB\u8389\u8BFA\u857E\u59EC\\n<color=yellow>\u76F8</color>\u804C\u9636\u82F1\u96C4\uFF0C\u8F85\u52A9\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7687\u5BB6\u70C8\u7130</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1346
|
||||
ZH: "\u5E15\u79CB\u8389\u8BFA\u857E\u59EC/n<color=yellow>\u76F8</color>\u804C\u9636\u82F1\u96C4\uFF0C\u8F85\u52A9\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7687\u5BB6\u70C8\u7130</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1347
|
||||
ZH: "\u5E15\u79CB\u8389\u8BFA\u857E\u59EC\\\\n<color=yellow>\u76F8</color>\u804C\u9636\u82F1\u96C4\uFF0C\u8F85\u52A9\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7687\u5BB6\u70C8\u7130</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1348
|
||||
ZH: "\u5E15\u79CB\u8389\u8BFA\u857E\u59EC</br><color=yellow>\u76F8</color>\u804C\u9636\u82F1\u96C4\uFF0C\u8F85\u52A9\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7687\u5BB6\u70C8\u7130</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1349
|
||||
ZH: "<color=yellow>\u9635\u8425\u7279\u6027</color><br>\u5996\u7CBE\u5973\u4EC6\uFF1A\u53EF\u4EE5\u5728\u9886\u571F\u5185\u7684<color=yellow>\u6811\u6797</color>\u751F\u4EA7\u6B65\u5175\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1350
|
||||
ZH: "<color=yellow>\u5E1D\u56FD\u7279\u6027</color><br>\u5C3C\u7F57\u6CB3\u7684\u5973\u513F\uFF1A\u5F00\u5C40\u65F6\u62E5\u6709<color=yellow>\u8015\u79CD</color>\u79D1\u6280\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1351
|
||||
ZH: "\u8299\u5170\u6735\u9732\xB7\u65AF\u5361\u96F7\u7279<br><color=yellow>\u9A6C</color>\u804C\u9636\u82F1\u96C4\uFF0C\u7834\u5C40\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u56DB\u91CD\u5B58\u5728</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1352
|
||||
ZH: "\u857E\u7C73\u8389\u4E9A\xB7\u65AF\u5361\u96F7\u7279<br><color=yellow>\u738B</color>\u804C\u9636\u82F1\u96C4\uFF0C\u9632\u5FA1\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7EEF\u7EA2\u4E4B\u51FB</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1353
|
||||
ZH: "\u5341\u516D\u591C\u54B2\u591C<br><color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u523A\u5BA2\u578B\u82F1\u96C4\uFF0C\u62E5\u6709<color=yellow>\u94F6\u4E4B\u8DF3\u8DC3</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1354
|
||||
ZH: "\u7EA2\u7F8E\u94C3<br><color=yellow>\u8F66</color>\u804C\u9636\u82F1\u96C4\uFF0C\u6218\u58EB\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u8679\u8272\u592A\u6781\u62F3</color>\u7B49\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
- ID: 1355
|
||||
ZH: "\u5E15\u79CB\u8389\u8BFA\u857E\u59EC<br><color=yellow>\u76F8</color>\u804C\u9636\u82F1\u96C4\uFF0C\u8F85\u52A9\u578B\u82F1\u96C4\u3002\u62E5\u6709<color=yellow>\u7687\u5BB6\u70C8\u7130</color>\u6280\u80FD\u3002"
|
||||
TDZH:
|
||||
EN:
|
||||
JP:
|
||||
KR:
|
||||
TargetTypes: 0100000001000000010000000100000001000000
|
||||
|
||||
@ -126,4 +126,8 @@ MonoBehaviour:
|
||||
- SkillType: 62
|
||||
SkillDesc:
|
||||
- SkillType: 63
|
||||
SkillDesc: 1349
|
||||
- SkillType: 64
|
||||
SkillDesc: 1350
|
||||
- SkillType: 65
|
||||
SkillDesc:
|
||||
|
||||
@ -15,3 +15,4 @@ MonoBehaviour:
|
||||
WinUIWinText: 1108
|
||||
WinUILoseText: 1109
|
||||
BottomInfoUnitDesc:
|
||||
HintUIDefaultText:
|
||||
|
||||
@ -18,6 +18,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 28
|
||||
Desc: 1326
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -108,6 +109,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 1264
|
||||
Desc: 1221
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -198,6 +200,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 30
|
||||
Desc: 1327
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -288,6 +291,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 31
|
||||
Desc: 1223
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 15
|
||||
@ -378,6 +382,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 496
|
||||
Desc: 1328
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -468,6 +473,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 34
|
||||
Desc: 1225
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -558,6 +564,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 32
|
||||
Desc: 1329
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 15
|
||||
@ -648,6 +655,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 532
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 5
|
||||
@ -666,6 +674,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 533
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -684,6 +693,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 46
|
||||
Desc: 1330
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -774,6 +784,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 1195
|
||||
Desc: 1331
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -864,6 +875,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 1197
|
||||
Desc: 1332
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -954,6 +966,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 48
|
||||
Desc: 1333
|
||||
LandType: 2
|
||||
NoMaxHealth: 1
|
||||
MaxHealth: 0
|
||||
@ -1044,6 +1057,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 395
|
||||
Desc: 1227
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 40
|
||||
@ -1134,6 +1148,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 539
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1152,6 +1167,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 540
|
||||
Desc:
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1170,6 +1186,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 144
|
||||
Desc: 1351
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 10
|
||||
@ -1188,6 +1205,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 147
|
||||
Desc: 1352
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1206,6 +1224,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 37
|
||||
Desc: 1353
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1224,6 +1243,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 38
|
||||
Desc: 1354
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
@ -1242,6 +1262,7 @@ MonoBehaviour:
|
||||
GiantCivId: 0
|
||||
GiantForceId: 0
|
||||
Name: 39
|
||||
Desc: 1355
|
||||
LandType: 1
|
||||
NoMaxHealth: 0
|
||||
MaxHealth: 30
|
||||
|
||||
@ -1359,7 +1359,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7844018954484554438
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1369,9 +1369,9 @@ Transform:
|
||||
m_GameObject: {fileID: 4166703505505008710}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.95}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_LocalPosition: {x: 0, y: -0.45, z: 0.95}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1494252107283779432}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@ -2639,7 +2639,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7138399367229989029
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2649,9 +2649,9 @@ Transform:
|
||||
m_GameObject: {fileID: 7943349828493455221}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.94}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_LocalPosition: {x: 0, y: -0.45, z: 0.94}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1494252107283779432}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
||||
@ -1651,7 +1651,7 @@ SpriteRenderer:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: -124165537
|
||||
m_SortingLayer: 5
|
||||
m_SortingOrder: 1
|
||||
m_SortingOrder: 2
|
||||
m_Sprite: {fileID: 21300000, guid: e19ca1e5ce2b5cb4fbc8d4a7eb76c81f, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
|
||||
@ -11670,6 +11670,7 @@ GameObject:
|
||||
- component: {fileID: 105471439}
|
||||
- component: {fileID: 105471441}
|
||||
- component: {fileID: 105471440}
|
||||
- component: {fileID: 105471442}
|
||||
m_Layer: 5
|
||||
m_Name: Info2
|
||||
m_TagString: Untagged
|
||||
@ -11735,6 +11736,40 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 105471438}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &105471442
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 105471438}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionOffset: {x: 15, y: -15}
|
||||
DataProvider:
|
||||
HintDataType: 0
|
||||
Text: "\u9ED8\u8BA4\u9759\u6001\u6587\u672C..."
|
||||
TechTypeData: 0
|
||||
SkillTypeData: 63
|
||||
ActionIdData:
|
||||
ActionType: 0
|
||||
WonderType: 0
|
||||
ResourceType: 0
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
--- !u!1 &105822060
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -32433,7 +32468,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -38264,7 +38299,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -91180,6 +91215,7 @@ GameObject:
|
||||
- component: {fileID: 735834391}
|
||||
- component: {fileID: 735834390}
|
||||
- component: {fileID: 735834389}
|
||||
- component: {fileID: 735834392}
|
||||
m_Layer: 5
|
||||
m_Name: BG
|
||||
m_TagString: Untagged
|
||||
@ -91259,6 +91295,40 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 735834387}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &735834392
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 735834387}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionOffset: {x: 15, y: -15}
|
||||
DataProvider:
|
||||
HintDataType: 4
|
||||
Text: "\u9ED8\u8BA4\u9759\u6001\u6587\u672C..."
|
||||
TechTypeData: 0
|
||||
SkillTypeData: 0
|
||||
ActionIdData:
|
||||
ActionType: 0
|
||||
WonderType: 0
|
||||
ResourceType: 0
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
UnitType: 14
|
||||
GiantType: 5
|
||||
--- !u!1 &736948066
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -96644,9 +96714,9 @@ MonoBehaviour:
|
||||
m_fontSize: 36
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_enableAutoSizing: 1
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontSizeMax: 36
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 512
|
||||
@ -104735,7 +104805,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -117902,8 +117972,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -55, y: -40}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_AnchoredPosition: {x: -26, y: -10}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!114 &935515444
|
||||
MonoBehaviour:
|
||||
@ -129746,6 +129816,7 @@ GameObject:
|
||||
- component: {fileID: 1029604520}
|
||||
- component: {fileID: 1029604522}
|
||||
- component: {fileID: 1029604521}
|
||||
- component: {fileID: 1029604523}
|
||||
m_Layer: 5
|
||||
m_Name: Info1
|
||||
m_TagString: Untagged
|
||||
@ -129811,6 +129882,40 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1029604519}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1029604523
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1029604519}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionOffset: {x: 15, y: -15}
|
||||
DataProvider:
|
||||
HintDataType: 0
|
||||
Text: "\u5C3C\u7F57\u6CB3\u7684\u5973\u513F\uFF1A\u5F00\u5C40\u65F6\u62E5\u6709<color=yellow>\u8015\u79CD</color>\u79D1\u6280\u3002"
|
||||
TechTypeData: 0
|
||||
SkillTypeData: 64
|
||||
ActionIdData:
|
||||
ActionType: 0
|
||||
WonderType: 0
|
||||
ResourceType: 0
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
--- !u!1 &1030630515
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -134114,7 +134219,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -137512,7 +137617,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1082107953
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -139839,7 +139944,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -140730,7 +140835,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -141704,8 +141809,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -55, y: -40}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_AnchoredPosition: {x: -26, y: -10}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!114 &1107982508
|
||||
MonoBehaviour:
|
||||
@ -162672,8 +162777,7 @@ GameObject:
|
||||
- component: {fileID: 1277632349}
|
||||
- component: {fileID: 1277632348}
|
||||
- component: {fileID: 1277632347}
|
||||
- component: {fileID: 1277632351}
|
||||
- component: {fileID: 1277632350}
|
||||
- component: {fileID: 1277632352}
|
||||
m_Layer: 5
|
||||
m_Name: BG
|
||||
m_TagString: Untagged
|
||||
@ -162753,7 +162857,7 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1277632345}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1277632350
|
||||
--- !u!114 &1277632352
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -162762,35 +162866,31 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 1277632345}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0eb483accab23a14bb264f0eaa0d9bc2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ActionId:
|
||||
ActionType: 0
|
||||
WonderType: 0
|
||||
ResourceType: 1
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
--- !u!114 &1277632351
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1277632345}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 309f3ee9008b7c94e90d09b29d0f17ad, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionOffset: {x: 15, y: -15}
|
||||
DataProvider:
|
||||
HintDataType: 4
|
||||
Text: "\u9ED8\u8BA4\u9759\u6001\u6587\u672C..."
|
||||
TechTypeData: 0
|
||||
SkillTypeData: 0
|
||||
ActionIdData:
|
||||
ActionType: 4
|
||||
WonderType: 0
|
||||
ResourceType: 0
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 14
|
||||
GiantType: 3
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
UnitType: 14
|
||||
GiantType: 3
|
||||
--- !u!1 &1277666041
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -176933,7 +177033,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -184966,6 +185066,7 @@ GameObject:
|
||||
- component: {fileID: 1480211985}
|
||||
- component: {fileID: 1480211984}
|
||||
- component: {fileID: 1480211983}
|
||||
- component: {fileID: 1480211986}
|
||||
m_Layer: 5
|
||||
m_Name: BG
|
||||
m_TagString: Untagged
|
||||
@ -185045,6 +185146,40 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1480211981}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1480211986
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1480211981}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionOffset: {x: 15, y: -15}
|
||||
DataProvider:
|
||||
HintDataType: 4
|
||||
Text: "\u9ED8\u8BA4\u9759\u6001\u6587\u672C..."
|
||||
TechTypeData: 0
|
||||
SkillTypeData: 0
|
||||
ActionIdData:
|
||||
ActionType: 0
|
||||
WonderType: 0
|
||||
ResourceType: 0
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
UnitType: 14
|
||||
GiantType: 4
|
||||
--- !u!1 &1480447913
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -188021,7 +188156,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -191868,7 +192003,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -202740,6 +202875,7 @@ GameObject:
|
||||
- component: {fileID: 1614963470}
|
||||
- component: {fileID: 1614963469}
|
||||
- component: {fileID: 1614963468}
|
||||
- component: {fileID: 1614963471}
|
||||
m_Layer: 5
|
||||
m_Name: BG
|
||||
m_TagString: Untagged
|
||||
@ -202819,6 +202955,40 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1614963466}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1614963471
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1614963466}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionOffset: {x: 15, y: -15}
|
||||
DataProvider:
|
||||
HintDataType: 4
|
||||
Text: "\u9ED8\u8BA4\u9759\u6001\u6587\u672C..."
|
||||
TechTypeData: 0
|
||||
SkillTypeData: 0
|
||||
ActionIdData:
|
||||
ActionType: 0
|
||||
WonderType: 0
|
||||
ResourceType: 0
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
UnitType: 14
|
||||
GiantType: 2
|
||||
--- !u!1 &1616248698
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -206248,8 +206418,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -56, y: -30}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_AnchoredPosition: {x: -26, y: -10}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!114 &1644109752
|
||||
MonoBehaviour:
|
||||
@ -215431,7 +215601,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -233903,7 +234073,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@ -235405,9 +235575,9 @@ MonoBehaviour:
|
||||
m_fontSize: 36
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_enableAutoSizing: 1
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontSizeMax: 36
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 512
|
||||
@ -241392,7 +241562,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1937684649
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -241835,6 +242005,7 @@ GameObject:
|
||||
- component: {fileID: 1941499506}
|
||||
- component: {fileID: 1941499505}
|
||||
- component: {fileID: 1941499504}
|
||||
- component: {fileID: 1941499507}
|
||||
m_Layer: 5
|
||||
m_Name: BG
|
||||
m_TagString: Untagged
|
||||
@ -241914,6 +242085,40 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1941499502}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1941499507
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1941499502}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 877da1f2a753cba41a4ae5bf9e3a37bd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionOffset: {x: 15, y: -15}
|
||||
DataProvider:
|
||||
HintDataType: 4
|
||||
Text: "\u9ED8\u8BA4\u9759\u6001\u6587\u672C..."
|
||||
TechTypeData: 0
|
||||
SkillTypeData: 0
|
||||
ActionIdData:
|
||||
ActionType: 0
|
||||
WonderType: 0
|
||||
ResourceType: 0
|
||||
FeatureType: 0
|
||||
TerrainType: 0
|
||||
UnitType: 0
|
||||
GiantType: 0
|
||||
Vegetation: 0
|
||||
UnitActionType: 0
|
||||
CityLevelUpActionType: 0
|
||||
GridMiscActionType: 0
|
||||
SkillType: 0
|
||||
TechType: 0
|
||||
UnitType: 14
|
||||
GiantType: 1
|
||||
--- !u!1 &1941701033
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -249688,7 +249893,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
|
||||
@ -26,6 +26,19 @@ public class ActionDataAssets : ScriptableObject
|
||||
//Debug.Log(actionId.GridMiscActionType);
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool GetActionDesc(CommonActionId actionId, out string ret)
|
||||
{
|
||||
ret = "";
|
||||
foreach(var t in ActionList)
|
||||
if (actionId == t.ActionId)
|
||||
{
|
||||
ret = t.Desc;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
||||
@ -21,6 +21,8 @@ public class AnimDataAssets : ScriptableObject
|
||||
|
||||
//AI move或者attack后,等待的时间
|
||||
public float AIBeforeAnimWaitTime;
|
||||
public float AISightActionWaitTime;
|
||||
public float AINoSightActionWaitTime;
|
||||
public float AIAnimCameraMoveTime;
|
||||
|
||||
//飞行道具移动的时间
|
||||
|
||||
@ -41,6 +41,19 @@ public class TechDataAssets : ScriptableObject
|
||||
Init();
|
||||
return _techInfoDict[techType];
|
||||
}
|
||||
|
||||
public bool GetTechDesc(TechType techType, out string ret)
|
||||
{
|
||||
Init();
|
||||
ret = "";
|
||||
if (_techInfoDict.TryGetValue(techType, out var info))
|
||||
{
|
||||
ret = info.Description;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// 获取科技的所有后继科技 (非伟人科技)
|
||||
public HashSet<TechType> GetNextTechs(TechType techType)
|
||||
|
||||
@ -14,4 +14,8 @@ public class TextDataAssets : ScriptableObject
|
||||
[MultilingualField]public string BottomInfoUnitDesc;
|
||||
|
||||
|
||||
[MultilingualField]public string HintUIDefaultText;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -72,7 +72,16 @@ public class UnitTypeDataAssets : ScriptableObject
|
||||
else unitTypeInfo = _giantTypeDict[giantType];
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public bool GetUnitDesc(UnitType UnitType,GiantType GiantType, out string ret)
|
||||
{
|
||||
ret = "";
|
||||
if (!GetUnitTypeInfo(UnitType, GiantType, out var info))
|
||||
return false;
|
||||
ret = info.Desc;
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool GetUnitSpriteGlow(MapData mapData, UnitData unitData, out Sprite sprite)
|
||||
{
|
||||
sprite = null;
|
||||
@ -149,6 +158,8 @@ public class UnitTypeInfo
|
||||
public uint GiantForceId;
|
||||
[MultilingualField]
|
||||
public string Name;
|
||||
[MultilingualField]
|
||||
public string Desc;
|
||||
public LandType LandType;
|
||||
public bool NoMaxHealth;
|
||||
public int MaxHealth;
|
||||
|
||||
@ -88,6 +88,11 @@ public enum SkillType
|
||||
RECYCLE,
|
||||
THIRDEYE,
|
||||
SUPERHIDE,
|
||||
|
||||
|
||||
// 文明技能
|
||||
RemiliaForcesSkill1,
|
||||
EgyptCivSkill1,
|
||||
Max
|
||||
}
|
||||
|
||||
@ -419,23 +424,23 @@ public class Table
|
||||
|
||||
ret[1] = ret[0] switch
|
||||
{
|
||||
"步兵" => "基础单位。拥有<color=yellow>冲刺</color>和<color=yellow>城防</color>技能。",
|
||||
"步兵" => "基础单位。拥有<color=yellow>冲锋</color>和<color=yellow>城防</color>技能。",
|
||||
"游骑兵" => "高机动性单位。拥有2移动力和<color=yellow>冲刺</color>、<color=yellow>城防</color>、<color=yellow>遁走</color>技能。",
|
||||
"弓兵" => "远程单位,拥有2射程和<color=yellow>冲刺</color>、<color=yellow>城防</color>技能。",
|
||||
"盾兵" => "防御单位。拥有3防御力和<color=yellow>城防</color>技能。",
|
||||
"骑士" => "强力机动单位。拥有3移动力3.5攻击力和<color=yellow>冲刺</color>、<color=yellow>连续杀敌</color>技能。",
|
||||
"骑士" => "强力机动单位。拥有3移动力3.5攻击力和<color=yellow>冲锋</color>、<color=yellow>连续杀敌</color>技能。",
|
||||
"炮兵" => "强力远程单位。拥有3射程4攻击力和<color=yellow>城防</color>技能。无法反击。",
|
||||
"剑士" => "强力综合单位。拥有3防御力3攻击力和<color=yellow>冲刺</color>技能。",
|
||||
"剑士" => "强力综合单位。拥有3防御力3攻击力和<color=yellow>冲锋</color>技能。",
|
||||
"巨人" => "超强力综合单位。拥有40血量和4攻击力。",
|
||||
"帆船" => "基础海上单位。拥有2移动力,无法攻击。",
|
||||
"克拉克" => "海上远程单位。拥有3移动力2射程和<color=yellow>巡洋</color>、<color=yellow>冲刺</color>技能。",
|
||||
"突击艇" => "海上强力近战。拥有3移动力3攻击力3防御力和<color=yellow>冲刺</color>技能。",
|
||||
"克拉克" => "海上远程单位。拥有3移动力2射程和<color=yellow>巡洋</color>、<color=yellow>冲锋</color>技能。",
|
||||
"突击艇" => "海上强力近战。拥有3移动力3攻击力3防御力和<color=yellow>冲锋</color>技能。",
|
||||
"战舰" => "海上超强远程。拥有2移动力3.5攻击力3射程和<color=yellow>溅射</color>技能。无法反击。",
|
||||
"芙兰朵露·斯卡雷特" => "<color=yellow>马</color>职阶英雄,破局型英雄。拥有<color=yellow>四重存在</color>技能。",
|
||||
"红美铃" => "<color=yellow>车</color>职阶英雄,战士型英雄。拥有<color=yellow>太极</color>技能。",
|
||||
"芙兰朵露·斯卡雷特" => "<color=yellow>马</color>职阶英雄,破局型英雄。拥有<color=yellow>四重存在</color>等技能。",
|
||||
"红美铃" => "<color=yellow>车</color>职阶英雄,战士型英雄。拥有<color=yellow>虹色太极拳</color>等技能。",
|
||||
"帕秋莉·诺蕾姬" => "<color=yellow>相</color>职阶英雄,辅助型英雄。拥有<color=yellow>皇家烈焰</color>技能。",
|
||||
"蕾米莉亚·斯卡雷特" => "<color=yellow>王</color>职阶英雄,防御型英雄。拥有<color=yellow>吸血盛宴</color>技能。",
|
||||
"十六夜咲夜" => "<color=yellow>车</color>职阶英雄,刺客型英雄,拥有<color=yellow>时间停止</color>技能。",
|
||||
"蕾米莉亚·斯卡雷特" => "<color=yellow>王</color>职阶英雄,防御型英雄。拥有<color=yellow>绯红之击</color>技能。",
|
||||
"十六夜咲夜" => "<color=yellow>车</color>职阶英雄,刺客型英雄,拥有<color=yellow>银之跳跃</color>等技能。",
|
||||
_ => ""
|
||||
};
|
||||
|
||||
|
||||
@ -1792,16 +1792,22 @@ namespace Logic.AI
|
||||
{
|
||||
if (!IsInSight)
|
||||
{
|
||||
Duration = 0.04f;
|
||||
Duration = Table.Instance.AnimDataAssets.AINoSightActionWaitTime;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ActionLogic.ActionId.ActionType == CommonActionType.UnitAttack)
|
||||
if (ActionLogic.ActionId.ActionType == CommonActionType.UnitMove)
|
||||
{
|
||||
Duration = ActionLogic.Duration;
|
||||
Duration = Table.Instance.AnimDataAssets.MoveAnimTime + Table.Instance.AnimDataAssets.AISightActionWaitTime;
|
||||
return;
|
||||
}
|
||||
Duration = Table.Instance.AnimDataAssets.AIBeforeAnimWaitTime;
|
||||
|
||||
if (ActionLogic.ActionId.ActionType == CommonActionType.UnitAttack)
|
||||
{
|
||||
Duration = ActionLogic.Duration + Table.Instance.AnimDataAssets.AIBeforeAnimWaitTime;
|
||||
return;
|
||||
}
|
||||
Duration = Table.Instance.AnimDataAssets.AISightActionWaitTime;
|
||||
}
|
||||
|
||||
public string DebugInfo()
|
||||
|
||||
@ -399,6 +399,7 @@ namespace Logic.Editor
|
||||
if (!Regex.IsMatch(com.text, @"[\u4E00-\u9FFF\u3400-\u4DBFa-zA-Z]")) continue;
|
||||
// 去除首尾空格和换行符
|
||||
com.text = com.text.Trim().Replace("\r\n", "\n");
|
||||
|
||||
var textCom = com.gameObject.GetComponent<MultilingualTextMono>();
|
||||
if (!textCom) textCom = com.gameObject.AddComponent<MultilingualTextMono>();
|
||||
|
||||
|
||||
@ -6,35 +6,88 @@
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using RuntimeData;
|
||||
using TH1Renderer;
|
||||
|
||||
|
||||
namespace Logic.Event
|
||||
{
|
||||
public interface IEventEnter
|
||||
public static class EventManager
|
||||
{
|
||||
public void PlayEffectEvent(GridVFXParams para, GridData grid);
|
||||
}
|
||||
|
||||
|
||||
public class ServerEventClient : IEventEnter
|
||||
{
|
||||
public void PlayEffectEvent(GridVFXParams para, GridData grid)
|
||||
// 使用一个字典来存储所有事件的订阅者。
|
||||
// 键(Key)是事件的类型(Type),值(Value)是响应该事件的委托(Delegate)。
|
||||
private static Dictionary<Type, Delegate> eventListeners = new Dictionary<Type, Delegate>();
|
||||
|
||||
/// <summary>
|
||||
/// 订阅一个事件。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">要订阅的事件类型(必须是struct)。</typeparam>
|
||||
/// <param name="listener">事件发生时要执行的回调方法。</param>
|
||||
public static void Subscribe<T>(Action<T> listener) where T : struct
|
||||
{
|
||||
|
||||
Type eventType = typeof(T);
|
||||
|
||||
// 如果字典中已存在该事件类型的委托
|
||||
if (eventListeners.TryGetValue(eventType, out Delegate existingDelegate))
|
||||
{
|
||||
// 将新的监听器添加到现有委托链中
|
||||
eventListeners[eventType] = Delegate.Combine(existingDelegate, listener);
|
||||
}
|
||||
else // 如果是第一次订阅该事件
|
||||
{
|
||||
// 直接将监听器作为新的委托存入字典
|
||||
eventListeners[eventType] = listener;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class EventManager
|
||||
{
|
||||
public static EventManager Instance = new EventManager();
|
||||
public IEventEnter EventEnter;
|
||||
|
||||
public EventManager()
|
||||
|
||||
/// <summary>
|
||||
/// 取消订阅一个事件。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">要取消订阅的事件类型(必须是struct)。</typeparam>
|
||||
/// <param name="listener">之前订阅时使用的回调方法。</param>
|
||||
public static void Unsubscribe<T>(Action<T> listener) where T : struct
|
||||
{
|
||||
EventEnter = new ServerEventClient();
|
||||
Type eventType = typeof(T);
|
||||
|
||||
// 只有在字典中存在该事件类型时才进行操作
|
||||
if (eventListeners.TryGetValue(eventType, out Delegate existingDelegate))
|
||||
{
|
||||
// 从委托链中移除指定的监听器
|
||||
Delegate resultDelegate = Delegate.Remove(existingDelegate, listener);
|
||||
|
||||
// 如果移除后委托链不为空,则更新字典
|
||||
if (resultDelegate != null)
|
||||
{
|
||||
eventListeners[eventType] = resultDelegate;
|
||||
}
|
||||
else // 如果移除后委托链为空,则从字典中移除该事件类型
|
||||
{
|
||||
eventListeners.Remove(eventType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 发布一个事件。
|
||||
/// 所有订阅了该事件的监听器都将被同步调用。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">要发布的事件类型(必须是struct)。</typeparam>
|
||||
/// <param name="eventData">要传递给监听器的事件数据。</param>
|
||||
public static void Publish<T>(T eventData) where T : struct
|
||||
{
|
||||
Type eventType = typeof(T);
|
||||
|
||||
// 尝试从字典中获取该事件的委托链
|
||||
if (eventListeners.TryGetValue(eventType, out Delegate existingDelegate))
|
||||
{
|
||||
// 将通用的 Delegate 类型安全地转换为具体的 Action<T> 类型
|
||||
// 使用 ?.Invoke() 可以安全地调用,即使委托为空也不会抛出异常
|
||||
var action = existingDelegate as Action<T>;
|
||||
action?.Invoke(eventData);
|
||||
}
|
||||
// 如果没有找到任何订阅者,则什么也不做。这是一种正常情况。
|
||||
}
|
||||
}
|
||||
}
|
||||
27
Unity/Assets/Scripts/Logic/Event/UIEvents.cs
Normal file
27
Unity/Assets/Scripts/Logic/Event/UIEvents.cs
Normal file
@ -0,0 +1,27 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UI.HintUI;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Event
|
||||
{
|
||||
|
||||
public struct ShowHintEvent
|
||||
{
|
||||
// CHANGED: 不再直接传递文本,而是传递一个数据提供者
|
||||
public HintDataProvider DataProvider;
|
||||
public Vector2 Position;
|
||||
}
|
||||
|
||||
public struct HideHintEvent { }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class UIEvents
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
11
Unity/Assets/Scripts/Logic/Event/UIEvents.cs.meta
Normal file
11
Unity/Assets/Scripts/Logic/Event/UIEvents.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7dc7f2d0fbc6e3f4db89210ef1dec46b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -12,6 +12,7 @@ using UnityEngine.EventSystems;
|
||||
using RuntimeData;
|
||||
using TMPro;
|
||||
using Logic.Multilingual;
|
||||
using UI;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Logic
|
||||
|
||||
@ -11,6 +11,7 @@ using Logic.AI;
|
||||
using Logic.Audio;
|
||||
using UnityEngine.PlayerLoop;
|
||||
using RuntimeData;
|
||||
using UI;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@ using UnityEngine;
|
||||
using RuntimeData;
|
||||
using TH1Renderer;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
using UnityEngine.Diagnostics;
|
||||
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ using Logic.Audio;
|
||||
using UnityEngine;
|
||||
using RuntimeData;
|
||||
using TH1Renderer;
|
||||
using UI;
|
||||
|
||||
namespace Logic
|
||||
{
|
||||
|
||||
@ -6,6 +6,7 @@ using Logic.Action;
|
||||
using Logic.Config;
|
||||
using Logic.CrashSight;
|
||||
using TH1Renderer;
|
||||
using UI;
|
||||
using Unity.VisualScripting;
|
||||
|
||||
namespace Logic
|
||||
|
||||
@ -112,7 +112,7 @@ namespace TH1Renderer
|
||||
|
||||
private MapRenderer(Main main, MapData mapData)
|
||||
{
|
||||
EventManager.Instance.EventEnter = new ViewEventEnter();
|
||||
//EventManager.Instance.EventEnter = new ViewEventEnter();
|
||||
_main = main;
|
||||
_mapData = mapData;
|
||||
ROMap = main.ROMapRenderer;
|
||||
@ -1109,13 +1109,5 @@ namespace TH1Renderer
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class ViewEventEnter : IEventEnter
|
||||
{
|
||||
public void PlayEffectEvent(GridVFXParams para, GridData grid)
|
||||
{
|
||||
//!!!!!!!!!!!!!!!!
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -4,6 +4,7 @@ using UnityEngine;
|
||||
using RuntimeData;
|
||||
using Logic;
|
||||
using TMPro;
|
||||
using UI;
|
||||
using Unity.Collections;
|
||||
|
||||
namespace TH1Renderer
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
using Logic;
|
||||
using RuntimeData;
|
||||
using Animancer;
|
||||
using UI;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class AboutUI
|
||||
|
||||
@ -4,6 +4,7 @@ using Logic;
|
||||
using MongoDB.Driver;
|
||||
using RuntimeData;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
using UnityEngine.UI;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEditor;
|
||||
|
||||
@ -8,6 +8,7 @@ using Logic.Multilingual;
|
||||
using Logic.Skill;
|
||||
using TH1Renderer;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine.UIElements;
|
||||
using Button = UnityEngine.UI.Button;
|
||||
|
||||
@ -8,6 +8,7 @@ using System.Collections.Generic;
|
||||
using Logic.Audio;
|
||||
using Logic.Multilingual;
|
||||
using TH1Renderer;
|
||||
using UI;
|
||||
using UnityEngine.Tilemaps;
|
||||
|
||||
// 数据结构
|
||||
|
||||
@ -7,6 +7,7 @@ using UnityEngine.UI;
|
||||
using Logic.Audio;
|
||||
using TH1Renderer;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
|
||||
public class ChooseUI
|
||||
{
|
||||
@ -232,6 +233,7 @@ public class ChooseUI
|
||||
_isShowing = true;
|
||||
_isAnimating = true;
|
||||
ROChooseUI.SetActive(true);
|
||||
_secondChoosePanel.SetActive(false);
|
||||
AudioManager.Instance.PlayMusic("RemiliaEgyptian",1f,1f,true);
|
||||
AnimancerComponent animancer = ROChooseUI.GetComponent<AnimancerComponent>();
|
||||
AnimationClip fadeInClip = Resources.Load<AnimationClip>("Animations/UI/SettingPanelFadeIn");
|
||||
|
||||
@ -3,6 +3,7 @@ using UnityEngine.UI;
|
||||
using UnityEngine.EventSystems;
|
||||
using System.Collections.Generic;
|
||||
using Logic.CrashSight;
|
||||
using UI;
|
||||
|
||||
public class ChooseUISettingBarController : MonoBehaviour
|
||||
{
|
||||
|
||||
@ -5,6 +5,8 @@ using Logic;
|
||||
using Logic.Action;
|
||||
using UnityEngine;
|
||||
using RuntimeData;
|
||||
using UI;
|
||||
|
||||
public class CityUpgradeActionUI
|
||||
{
|
||||
public MapData MapData;
|
||||
|
||||
@ -4,6 +4,8 @@ using UnityEngine.UI;
|
||||
using Logic;
|
||||
using RuntimeData;
|
||||
using TMPro;
|
||||
using UI;
|
||||
|
||||
public class DebugUI
|
||||
{
|
||||
private Main _main;
|
||||
|
||||
@ -5,6 +5,7 @@ using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using Unity.VisualScripting;
|
||||
using RuntimeData;
|
||||
using UI;
|
||||
using UnityEngine.AI;
|
||||
using UI.LibraryUI;
|
||||
public class GameUI
|
||||
|
||||
8
Unity/Assets/Scripts/UI/HintUI.meta
Normal file
8
Unity/Assets/Scripts/UI/HintUI.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 33d78b460dff951478dc8897a0ff2690
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
101
Unity/Assets/Scripts/UI/HintUI/HintDataProvider.cs
Normal file
101
Unity/Assets/Scripts/UI/HintUI/HintDataProvider.cs
Normal file
@ -0,0 +1,101 @@
|
||||
using Logic.Action;
|
||||
using Logic.Multilingual;
|
||||
using Unity.Burst.CompilerServices;
|
||||
using UnityEngine;
|
||||
|
||||
// using Logic.Tech; // 假设TechType在这里
|
||||
// using Logic.Skill; // 假设SkillType在这里
|
||||
// using Logic.City; // 假设CityUpgradeId在这里
|
||||
|
||||
// 建议将所有与HintUI相关的逻辑类都放在这个命名空间下
|
||||
namespace UI.HintUI
|
||||
{
|
||||
/// <summary>
|
||||
/// 定义提示所依赖的数据类型
|
||||
/// </summary>
|
||||
public enum HintDataType
|
||||
{
|
||||
SkillHintData,
|
||||
ActionHintData,
|
||||
TechHintData,
|
||||
CityUpgradeHintData,
|
||||
UnitHintData,
|
||||
// 直接显示静态文本
|
||||
TextData
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 一个统一的提示数据提供者。
|
||||
/// 它包含所有可能用到的数据字段,通过HintDataType枚举来决定使用哪个。
|
||||
/// </summary>
|
||||
[System.Serializable] // 必须标记为Serializable,这样才能在Inspector中显示
|
||||
public class HintDataProvider
|
||||
{
|
||||
// --- 核心控制字段 ---
|
||||
public HintDataType HintDataType;
|
||||
|
||||
// --- 所有可能的数据字段 ---
|
||||
|
||||
// 用于 TextData
|
||||
[Tooltip("当类型为TextData时,直接显示此文本")]
|
||||
public string Text = "默认静态文本...";
|
||||
|
||||
// 用于 TechHintData
|
||||
[Tooltip("当类型为TechHintData时,使用此数据")]
|
||||
public TechType TechTypeData;
|
||||
|
||||
// 用于 SkillHintData
|
||||
[Tooltip("当类型为SkillHintData时,使用此数据")]
|
||||
public SkillType SkillTypeData;
|
||||
|
||||
// 用于 ActionHintData
|
||||
[Tooltip("当类型为ActionHintData时,使用此数据")]
|
||||
public CommonActionId ActionIdData;
|
||||
|
||||
[Tooltip("unitData")]
|
||||
public UnitType UnitType;
|
||||
public GiantType GiantType;
|
||||
|
||||
// 用于 CityUpgradeHintData (注意:我根据推断为您增加了这个字段)
|
||||
//[Tooltip("当类型为CityUpgradeHintData时,使用此数据")]
|
||||
//public CityUpgradeId CityUpgradeIdData; // 假设存在一个CityUpgradeId类型
|
||||
|
||||
/// <summary>
|
||||
/// 根据HintDataType动态获取最终应显示的提示文本
|
||||
/// </summary>
|
||||
/// <returns>提示字符串</returns>
|
||||
public string GetHintText()
|
||||
{
|
||||
|
||||
string ret = Text;
|
||||
switch (this.HintDataType)
|
||||
{
|
||||
case HintDataType.SkillHintData:
|
||||
// 假设GetSkillDesc存在并且接收SkillTypeData
|
||||
Table.Instance.SkillDataAssets.GetSkillDesc(this.SkillTypeData,out ret);
|
||||
break;
|
||||
case HintDataType.ActionHintData:
|
||||
// 仿写:从Action数据表中获取描述
|
||||
Table.Instance.ActionDataAssets.GetActionDesc(this.ActionIdData,out ret);
|
||||
break;
|
||||
case HintDataType.TechHintData:
|
||||
// 仿写:从Tech数据表中获取描述
|
||||
Table.Instance.TechDataAssets.GetTechDesc(this.TechTypeData,out ret);
|
||||
break;
|
||||
case HintDataType.CityUpgradeHintData:
|
||||
// 仿写:从CityUpgrade数据表中获取描述
|
||||
//return Table.Instance.CityUpgradeDataAssets.GetUpgradeDesc(this.CityUpgradeIdData);
|
||||
break;
|
||||
case HintDataType.UnitHintData:
|
||||
Table.Instance.UnitTypeDataAssets.GetUnitDesc(UnitType,GiantType,out ret);
|
||||
break;
|
||||
default:
|
||||
// 处理未知的或默认的枚举值,方便调试
|
||||
UnityEngine.Debug.LogWarning($"未处理的HintDataType: {this.HintDataType}");
|
||||
break;
|
||||
}
|
||||
|
||||
return MultilingualManager.Instance.GetMultilingualText(uint.Parse(ret));
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Unity/Assets/Scripts/UI/HintUI/HintDataProvider.cs.meta
Normal file
11
Unity/Assets/Scripts/UI/HintUI/HintDataProvider.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11dd307d5ce29ed4d9378e7ac68bd805
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
58
Unity/Assets/Scripts/UI/HintUI/HintTrigger.cs
Normal file
58
Unity/Assets/Scripts/UI/HintUI/HintTrigger.cs
Normal file
@ -0,0 +1,58 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using Logic.Event;
|
||||
|
||||
namespace UI.HintUI
|
||||
{
|
||||
/// <summary>
|
||||
/// 悬浮提示的触发器。
|
||||
/// 此组件内部包含一个可配置的数据提供者(DataProvider),用于生成提示内容。
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(RectTransform))]
|
||||
public class HintTrigger : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
|
||||
{
|
||||
[Tooltip("提示窗口相对于鼠标位置的偏移量。")]
|
||||
[SerializeField]
|
||||
private Vector2 positionOffset = new Vector2(15f, -15f);
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("hinttext数据来源")]
|
||||
public HintDataProvider DataProvider;
|
||||
|
||||
#region --- Unity UI Event System Callbacks ---
|
||||
|
||||
public void OnPointerEnter(PointerEventData eventData)
|
||||
{
|
||||
// 检查数据提供者是否已配置
|
||||
if (DataProvider == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// 如果提供者有效,但它生成了空内容,也不显示
|
||||
// (这一步也可以移到HintUI里做,但在这里提前判断可以避免无效的事件发布)
|
||||
if (string.IsNullOrEmpty(DataProvider.GetHintText()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// 创建并填充请求显示提示的事件
|
||||
ShowHintEvent showHintEvent = new ShowHintEvent
|
||||
{
|
||||
DataProvider = this.DataProvider,
|
||||
Position = (Vector2)eventData.position + this.positionOffset
|
||||
};
|
||||
|
||||
// 通过事件管理器发布事件,通知系统显示提示
|
||||
EventManager.Publish(showHintEvent);
|
||||
}
|
||||
|
||||
public void OnPointerExit(PointerEventData eventData)
|
||||
{
|
||||
// 发布隐藏提示的事件
|
||||
EventManager.Publish(new HideHintEvent());
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
11
Unity/Assets/Scripts/UI/HintUI/HintTrigger.cs.meta
Normal file
11
Unity/Assets/Scripts/UI/HintUI/HintTrigger.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 877da1f2a753cba41a4ae5bf9e3a37bd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
119
Unity/Assets/Scripts/UI/HintUI/HintUI.cs
Normal file
119
Unity/Assets/Scripts/UI/HintUI/HintUI.cs
Normal file
@ -0,0 +1,119 @@
|
||||
using UnityEngine;
|
||||
using TMPro;
|
||||
using Logic.Event;
|
||||
using System;
|
||||
|
||||
namespace UI.HintUI
|
||||
{
|
||||
public class HintUI
|
||||
{
|
||||
// 视图引用
|
||||
private readonly GameObject ROHintWindow;
|
||||
private readonly RectTransform _rectTransform;
|
||||
private TextMeshProUGUI _hintTextComponent;
|
||||
|
||||
// 【新增】缓存根Canvas的引用,用于坐标转换
|
||||
private readonly Canvas _rootCanvas;
|
||||
|
||||
// 缓存委托以用于取消订阅
|
||||
private readonly Action<ShowHintEvent> _onShowHintAction;
|
||||
private readonly Action<HideHintEvent> _onHideHintAction;
|
||||
|
||||
public HintUI(GameObject hintWindowRoot)
|
||||
{
|
||||
if (hintWindowRoot == null)
|
||||
{
|
||||
Debug.LogError("HintWindowUI的构造函数收到了一个空的GameObject引用!");
|
||||
return;
|
||||
}
|
||||
|
||||
this.ROHintWindow = hintWindowRoot;
|
||||
this._rectTransform = ROHintWindow.GetComponent<RectTransform>();
|
||||
|
||||
// 【新增】获取UI所在的根Canvas
|
||||
// 这是坐标转换所必需的上下文环境
|
||||
this._rootCanvas = ROHintWindow.GetComponentInParent<Canvas>();
|
||||
if (this._rootCanvas == null)
|
||||
{
|
||||
Debug.LogError("在HintWindow的父级中找不到Canvas组件!坐标转换将失败。", ROHintWindow);
|
||||
}
|
||||
|
||||
// 缓存Action委托
|
||||
_onShowHintAction = OnShowHint;
|
||||
_onHideHintAction = OnHideHint;
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
private void init()
|
||||
{
|
||||
Transform textTransform = ROHintWindow.transform.Find("Text");
|
||||
if (textTransform != null)
|
||||
{
|
||||
_hintTextComponent = textTransform.GetComponent<TextMeshProUGUI>();
|
||||
}
|
||||
if (_hintTextComponent == null)
|
||||
{
|
||||
Debug.LogError("在ROHintWindow下未能找到路径 'Text' 或其上的TextMeshProUGUI组件!", ROHintWindow);
|
||||
return;
|
||||
}
|
||||
|
||||
EventManager.Subscribe(_onShowHintAction);
|
||||
EventManager.Subscribe(_onHideHintAction);
|
||||
ROHintWindow.SetActive(false);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
EventManager.Unsubscribe(_onShowHintAction);
|
||||
EventManager.Unsubscribe(_onHideHintAction);
|
||||
}
|
||||
|
||||
// --- 事件处理方法 (核心修改点) ---
|
||||
private void OnShowHint(ShowHintEvent e)
|
||||
{
|
||||
// 基础的有效性检查
|
||||
if (ROHintWindow == null || _hintTextComponent == null || _rectTransform == null || e.DataProvider == null)
|
||||
{
|
||||
ROHintWindow.SetActive(false);
|
||||
return;
|
||||
}
|
||||
|
||||
string textToShow = e.DataProvider.GetHintText();
|
||||
if (string.IsNullOrEmpty(textToShow))
|
||||
{
|
||||
ROHintWindow.SetActive(false);
|
||||
return;
|
||||
}
|
||||
|
||||
// --- 【核心修改逻辑】从这里开始 ---
|
||||
ROHintWindow.SetActive(true);
|
||||
_hintTextComponent.text = textToShow;
|
||||
|
||||
// 1. 调用坐标转换工具
|
||||
// 参数1: 我们要把坐标转换到哪个RectTransform内部,这里是Hint窗口的父级。
|
||||
// 参数2: 屏幕坐标点,从事件中传来 (它已经包含了您在HintTrigger里设置的offset)。
|
||||
// 参数3: 当前Canvas使用的渲染相机。对于ScreenSpace-Overlay模式,这个为null,函数能正确处理。
|
||||
// 参数4: 输出转换后的局部坐标。
|
||||
RectTransformUtility.ScreenPointToLocalPointInRectangle(
|
||||
_rectTransform.parent as RectTransform,
|
||||
e.Position,
|
||||
_rootCanvas.worldCamera,
|
||||
out Vector2 localPoint
|
||||
);
|
||||
|
||||
// 2. 将计算出的局部坐标赋值给localPosition
|
||||
_rectTransform.localPosition = localPoint;
|
||||
|
||||
// --- 核心修改逻辑结束 ---
|
||||
|
||||
_rectTransform.SetAsLastSibling();
|
||||
}
|
||||
|
||||
private void OnHideHint(HideHintEvent e)
|
||||
{
|
||||
if (ROHintWindow == null) return;
|
||||
ROHintWindow.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Unity/Assets/Scripts/UI/HintUI/HintUI.cs.meta
Normal file
11
Unity/Assets/Scripts/UI/HintUI/HintUI.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8814d39f70d930744946e521012475fc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -4,6 +4,7 @@ using Logic;
|
||||
using RuntimeData;
|
||||
using Animancer;
|
||||
using TMPro;
|
||||
using UI;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class HistoryUI
|
||||
|
||||
@ -6,6 +6,7 @@ using TMPro;
|
||||
using UnityEngine.UI;
|
||||
using Logic.Audio;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
|
||||
public class MainUI
|
||||
{
|
||||
|
||||
@ -6,6 +6,8 @@ using Animancer;
|
||||
using Logic.CrashSight;
|
||||
using TMPro;
|
||||
using Logic.Multilingual;
|
||||
using UI;
|
||||
|
||||
public class MessageUI
|
||||
{
|
||||
private Main _main;
|
||||
|
||||
@ -8,6 +8,7 @@ using TMPro;
|
||||
using UnityEngine.UI;
|
||||
using Logic.Multilingual;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
|
||||
public class RankingUI
|
||||
{
|
||||
|
||||
@ -6,6 +6,7 @@ using Animancer;
|
||||
using Logic.Config;
|
||||
using UnityEngine.UI;
|
||||
using Logic.Multilingual;
|
||||
using UI;
|
||||
|
||||
public class SettingUI
|
||||
{
|
||||
|
||||
@ -14,6 +14,7 @@ using Logic.Multilingual;
|
||||
using Logic.Skill;
|
||||
using TH1Renderer;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
|
||||
public class TechTreeUI
|
||||
{
|
||||
|
||||
@ -6,6 +6,7 @@ using Logic;
|
||||
using RuntimeData;
|
||||
using Logic.Multilingual;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
|
||||
public class TopBarUI
|
||||
{
|
||||
|
||||
@ -1,117 +1,119 @@
|
||||
using Logic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using Unity.VisualScripting;
|
||||
using RuntimeData;
|
||||
using UnityEngine.AI;
|
||||
|
||||
public class UIManager
|
||||
{
|
||||
|
||||
public static UIManager Instance { get; private set; }
|
||||
private Main _main;
|
||||
private MapData _mapData;
|
||||
public GameObject ROUIManager;
|
||||
|
||||
public TopBarUI TopBarUI;
|
||||
public BottomBarUI BottomBarUI;
|
||||
public BottomInfoUI BottomInfoUI;
|
||||
public CenterMessageUI CenterMessageUI;
|
||||
public TechTreeUI TechTreeUI;
|
||||
public CityUpgradeActionUI CityUpgradeActionUI;
|
||||
public GameUI GameUI;
|
||||
|
||||
|
||||
|
||||
public GameObject ROHintWindow;//提示窗口
|
||||
|
||||
|
||||
|
||||
// ✅ 新增的 UI 类成员
|
||||
public SettingUI SettingUI;
|
||||
public WinUI WinUI;
|
||||
public MessageUI MessageUI;
|
||||
public RankingUI RankingUI;
|
||||
public DebugUI DebugUI;
|
||||
public GameObject AIPlayingHint;
|
||||
public bool AIPlaying = false;
|
||||
|
||||
|
||||
|
||||
public UIManager()
|
||||
namespace UI{
|
||||
public class UIManager
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
}
|
||||
|
||||
public void Init(Main main)
|
||||
{
|
||||
_main = main;
|
||||
//_mapData = mapData;
|
||||
Scene currentScene = SceneManager.GetActiveScene();
|
||||
GameObject[] rootObjects = currentScene.GetRootGameObjects();
|
||||
foreach (GameObject rootObject in rootObjects)
|
||||
if (rootObject.name == "UICanvas"){
|
||||
ROUIManager = rootObject;
|
||||
break;
|
||||
}
|
||||
AIPlayingHint = ROUIManager.transform.Find("AIPlayingHint").gameObject;
|
||||
SettingUI = new SettingUI();
|
||||
GameUI = new GameUI(_main,_mapData);
|
||||
ROHintWindow = ROUIManager.transform.Find("HintWindow").gameObject;
|
||||
//这里要异步new和init,不然new里会用到还没被new完的自己
|
||||
GameUI.Init();
|
||||
}
|
||||
public void GameInit(MapData mapData)
|
||||
{
|
||||
_mapData = mapData;
|
||||
WinUI = new WinUI(_main, _mapData);
|
||||
MessageUI = new MessageUI(_main, _mapData);
|
||||
RankingUI = new RankingUI();
|
||||
TopBarUI = new TopBarUI(_main,_mapData);
|
||||
BottomInfoUI = new BottomInfoUI(_main,_mapData);
|
||||
BottomBarUI = new BottomBarUI(_main);
|
||||
CenterMessageUI = new CenterMessageUI(_main,_mapData);
|
||||
TechTreeUI = new TechTreeUI();
|
||||
CityUpgradeActionUI = new CityUpgradeActionUI(_main,_mapData);
|
||||
DebugUI = new DebugUI(_main,_mapData);
|
||||
public static UIManager Instance { get; private set; }
|
||||
private Main _main;
|
||||
private MapData _mapData;
|
||||
public GameObject ROUIManager;
|
||||
|
||||
public TopBarUI TopBarUI;
|
||||
public BottomBarUI BottomBarUI;
|
||||
public BottomInfoUI BottomInfoUI;
|
||||
public CenterMessageUI CenterMessageUI;
|
||||
public TechTreeUI TechTreeUI;
|
||||
public CityUpgradeActionUI CityUpgradeActionUI;
|
||||
public GameUI GameUI;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void Update(MapData mapData)
|
||||
{
|
||||
if (mapData != null)
|
||||
|
||||
public GameObject ROHintWindow;//提示窗口
|
||||
|
||||
|
||||
|
||||
// ✅ 新增的 UI 类成员
|
||||
public SettingUI SettingUI;
|
||||
public WinUI WinUI;
|
||||
public MessageUI MessageUI;
|
||||
public RankingUI RankingUI;
|
||||
public DebugUI DebugUI;
|
||||
public GameObject AIPlayingHint;
|
||||
public HintUI.HintUI HintUI;
|
||||
public bool AIPlaying = false;
|
||||
|
||||
|
||||
|
||||
public UIManager()
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
CenterMessageUI.Update();
|
||||
CityUpgradeActionUI.Update();
|
||||
BottomBarUI.Update();
|
||||
BottomInfoUI.Update();
|
||||
if(mapData != null)
|
||||
TechTreeUI.Update(mapData);
|
||||
TopBarUI.Update();
|
||||
WinUI.Update();
|
||||
MessageUI.Update();
|
||||
RankingUI.Update();
|
||||
DebugUI.Update();
|
||||
}
|
||||
|
||||
public void Init(Main main)
|
||||
{
|
||||
_main = main;
|
||||
//_mapData = mapData;
|
||||
Scene currentScene = SceneManager.GetActiveScene();
|
||||
GameObject[] rootObjects = currentScene.GetRootGameObjects();
|
||||
foreach (GameObject rootObject in rootObjects)
|
||||
if (rootObject.name == "UICanvas"){
|
||||
ROUIManager = rootObject;
|
||||
break;
|
||||
}
|
||||
AIPlayingHint = ROUIManager.transform.Find("AIPlayingHint").gameObject;
|
||||
SettingUI = new SettingUI();
|
||||
GameUI = new GameUI(_main,_mapData);
|
||||
ROHintWindow = ROUIManager.transform.Find("HintWindow").gameObject;
|
||||
HintUI = new HintUI.HintUI(ROUIManager.transform.Find("HintWindow").gameObject);
|
||||
//这里要异步new和init,不然new里会用到还没被new完的自己
|
||||
GameUI.Init();
|
||||
}
|
||||
|
||||
// ✅ 每帧更新新增的 UI
|
||||
SettingUI.Update();
|
||||
GameUI.Update();
|
||||
//每次新开游戏都会更新,注意内存泄露问题!!!
|
||||
public void GameInit(MapData mapData)
|
||||
{
|
||||
_mapData = mapData;
|
||||
WinUI = new WinUI(_main, _mapData);
|
||||
MessageUI = new MessageUI(_main, _mapData);
|
||||
RankingUI = new RankingUI();
|
||||
TopBarUI = new TopBarUI(_main,_mapData);
|
||||
BottomInfoUI = new BottomInfoUI(_main,_mapData);
|
||||
BottomBarUI = new BottomBarUI(_main);
|
||||
CenterMessageUI = new CenterMessageUI(_main,_mapData);
|
||||
TechTreeUI = new TechTreeUI();
|
||||
CityUpgradeActionUI = new CityUpgradeActionUI(_main,_mapData);
|
||||
DebugUI = new DebugUI(_main,_mapData);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void EndTurn()
|
||||
{
|
||||
TopBarUI.RenderMark = true;
|
||||
AIPlayingHint.SetActive(false);
|
||||
|
||||
//TODO 这里endturn和startturn逻辑不对
|
||||
}
|
||||
public void Update(MapData mapData)
|
||||
{
|
||||
if (mapData != null)
|
||||
{
|
||||
|
||||
CenterMessageUI.Update();
|
||||
CityUpgradeActionUI.Update();
|
||||
BottomBarUI.Update();
|
||||
BottomInfoUI.Update();
|
||||
if(mapData != null)
|
||||
TechTreeUI.Update(mapData);
|
||||
TopBarUI.Update();
|
||||
WinUI.Update();
|
||||
MessageUI.Update();
|
||||
RankingUI.Update();
|
||||
DebugUI.Update();
|
||||
}
|
||||
|
||||
// ✅ 每帧更新新增的 UI
|
||||
SettingUI.Update();
|
||||
GameUI.Update();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
public void EndTurn()
|
||||
{
|
||||
TopBarUI.RenderMark = true;
|
||||
AIPlayingHint.SetActive(false);
|
||||
|
||||
//TODO 这里endturn和startturn逻辑不对
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,7 @@ using System.Collections.Generic;
|
||||
using Logic.Multilingual;
|
||||
using ParadoxNotion.Design;
|
||||
using TH1Resource;
|
||||
using UI;
|
||||
|
||||
public class WinUI
|
||||
{
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user