From c5513e3eacbac7e15549cf3e31fd3f8d31a3f5d4 Mon Sep 17 00:00:00 2001 From: Tran Hai Nam Date: Tue, 12 May 2026 12:00:04 +0700 Subject: [PATCH] fix some known bug and add more chanelling gfx --- .../AssetGroups/gfx.asset | 55 + .../Materials/Skill/Ji yun shi/deng.mat | 209 + .../Materials/Skill/Ji yun shi/deng.mat.meta | 8 + .../Materials/Skill/Ji yun shi/ray0017.mat | 18 +- .../Jianghu/Materials/Skill/Longjuanfeng.meta | 8 + .../Materials/Skill/Longjuanfeng/风轨迹2.mat | 209 + .../Skill/Longjuanfeng/风轨迹2.mat.meta | 8 + .../Jianghu/Materials/Skill/怪物治疗术.meta | 8 + .../Skill/怪物治疗术/magicpurple.mat | 209 + .../Skill/怪物治疗术/magicpurple.mat.meta | 8 + Assets/Jianghu/Meshes/measure_cylinder.fbx | Bin 0 -> 19520 bytes .../Jianghu/Meshes/measure_cylinder.fbx.meta | 107 + Assets/Jianghu/Meshes/reverse_cone.fbx | Bin 0 -> 19808 bytes Assets/Jianghu/Meshes/reverse_cone.fbx.meta | 107 + Assets/Jianghu/Meshes/爆气效果_deng.fbx | Bin 0 -> 33856 bytes Assets/Jianghu/Meshes/爆气效果_deng.fbx.meta | 107 + Assets/Jianghu/Meshes/爆气效果_火花2.fbx | Bin 0 -> 22144 bytes Assets/Jianghu/Meshes/爆气效果_火花2.fbx.meta | 107 + .../Textures/Skill/Ji yun shi/deng.dds | Bin 0 -> 2872 bytes .../Textures/Skill/Ji yun shi/deng.dds.meta | 21 + .../Jianghu/Textures/Skill/Longjuanfeng.meta | 8 + .../Textures/Skill/Longjuanfeng/风轨迹2.dds | Bin 0 -> 21992 bytes .../Skill/Longjuanfeng/风轨迹2.dds.meta | 21 + Assets/Jianghu/Textures/Skill/怪物治疗术.meta | 8 + .../Textures/Skill/怪物治疗术/magicpurple.dds | Bin 0 -> 2872 bytes .../Skill/怪物治疗术/magicpurple.dds.meta | 21 + .../Art/Gfx/gfx/人物/技能/妖精.meta | 8 + .../gfx/人物/技能/妖精/宠物召唤吟唱.prefab | 98238 +++++++++++ .../人物/技能/妖精/宠物召唤吟唱.prefab.meta | 7 + .../gfx/人物/技能/妖精/宠物召唤施放.prefab | 98238 +++++++++++ .../人物/技能/妖精/宠物召唤施放.prefab.meta | 7 + .../gfx/人物/技能/妖精/宠物复活吟唱.prefab | 82939 +++++++++ .../人物/技能/妖精/宠物复活吟唱.prefab.meta | 7 + .../gfx/人物/技能/妖精/宠物复活施放.prefab | 131904 +++++++++++++++ .../人物/技能/妖精/宠物复活施放.prefab.meta | 7 + .../gfx/人物/技能/妖精/宠物治疗吟唱.prefab | 68715 ++++++++ .../人物/技能/妖精/宠物治疗吟唱.prefab.meta | 7 + .../Gfx/gfx/人物/技能/妖精/残体咒吟唱.prefab | 38782 +++++ .../gfx/人物/技能/妖精/残体咒吟唱.prefab.meta | 7 + .../Art/Gfx/gfx/人物/技能/武侠/寸力.prefab | 29318 ++++ .../Gfx/gfx/人物/技能/武侠/寸力.prefab.meta | 7 + .../Gfx/gfx/人物/技能/武侠/避水诀施放.prefab | 14485 ++ .../gfx/人物/技能/武侠/避水诀施放.prefab.meta | 7 + .../gfx/人物/技能/武侠/霸王龙飞预备1.prefab | 92549 ++++++++++ .../人物/技能/武侠/霸王龙飞预备1.prefab.meta | 7 + .../Gfx/gfx/人物/技能/法师/避水诀预备.prefab | 14503 ++ .../gfx/人物/技能/法师/避水诀预备.prefab.meta | 7 + .../Art/Gfx/gfx/人物/技能/通用.meta | 8 + .../Gfx/gfx/人物/技能/通用/爆气效果.prefab | 122243 +++++++++++++ .../gfx/人物/技能/通用/爆气效果.prefab.meta | 7 + Assets/ModelRenderer/Art/Materials/GFX.meta | 8 + .../Art/Materials/GFX/宠物召唤施放.meta | 8 + .../Art/Materials/GFX/宠物召唤施放/封引3.mat | 209 + .../Materials/GFX/宠物召唤施放/封引3.mat.meta | 8 + .../Art/Materials/GFX/宠物治疗吟唱.meta | 8 + .../Materials/GFX/宠物治疗吟唱/circle008.mat | 209 + .../GFX/宠物治疗吟唱/circle008.mat.meta | 8 + .../GFX/宠物治疗吟唱/liumangxing.mat | 209 + .../GFX/宠物治疗吟唱/liumangxing.mat.meta | 8 + .../Materials/GFX/宠物治疗吟唱/pattern003.mat | 209 + .../GFX/宠物治疗吟唱/pattern003.mat.meta | 8 + .../ModelRenderer/Art/Materials/GFX/寸力.meta | 8 + .../Art/Materials/GFX/寸力/jizhong3.mat | 209 + .../Art/Materials/GFX/寸力/jizhong3.mat.meta | 8 + .../Art/Materials/GFX/残体咒吟唱.meta | 8 + .../Materials/GFX/残体咒吟唱/ringwhite.mat | 209 + .../GFX/残体咒吟唱/ringwhite.mat.meta | 8 + .../Art/Materials/GFX/爆气效果.meta | 8 + .../Art/Materials/GFX/爆气效果/螺旋.mat | 209 + .../Art/Materials/GFX/爆气效果/螺旋.mat.meta | 8 + .../Art/Textures/gfx/circle008.dds | Bin 0 -> 11064 bytes .../Art/Textures/gfx/circle008.dds.meta | 21 + .../Art/Textures/gfx/jizhong3.dds | Bin 0 -> 11064 bytes .../Art/Textures/gfx/jizhong3.dds.meta | 21 + .../Art/Textures/gfx/liumangxing.dds | Bin 0 -> 11064 bytes .../Art/Textures/gfx/liumangxing.dds.meta | 21 + .../Art/Textures/gfx/pattern003.dds | Bin 0 -> 11064 bytes .../Art/Textures/gfx/pattern003.dds.meta | 21 + .../Art/Textures/gfx/ringwhite.dds | Bin 0 -> 11064 bytes .../Art/Textures/gfx/ringwhite.dds.meta | 21 + .../ModelRenderer/Art/Textures/gfx/封引3.dds | Bin 0 -> 87536 bytes .../Art/Textures/gfx/封引3.dds.meta | 21 + .../ModelRenderer/Art/Textures/gfx/螺旋.dds | Bin 0 -> 11080 bytes .../Art/Textures/gfx/螺旋.dds.meta | 21 + Assets/PerfectWorld/Scripts/Move/CECPlayer.cs | 13 +- Assets/PerfectWorld/Scripts/NPC/CECModel.cs | 17 +- .../Scripts/Players/CECHostNavigatePlayer.cs | 794 +- 87 files changed, 795386 insertions(+), 406 deletions(-) create mode 100644 Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat create mode 100644 Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat.meta create mode 100644 Assets/Jianghu/Materials/Skill/Longjuanfeng.meta create mode 100644 Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat create mode 100644 Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat.meta create mode 100644 Assets/Jianghu/Materials/Skill/怪物治疗术.meta create mode 100644 Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat create mode 100644 Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat.meta create mode 100644 Assets/Jianghu/Meshes/measure_cylinder.fbx create mode 100644 Assets/Jianghu/Meshes/measure_cylinder.fbx.meta create mode 100644 Assets/Jianghu/Meshes/reverse_cone.fbx create mode 100644 Assets/Jianghu/Meshes/reverse_cone.fbx.meta create mode 100644 Assets/Jianghu/Meshes/爆气效果_deng.fbx create mode 100644 Assets/Jianghu/Meshes/爆气效果_deng.fbx.meta create mode 100644 Assets/Jianghu/Meshes/爆气效果_火花2.fbx create mode 100644 Assets/Jianghu/Meshes/爆气效果_火花2.fbx.meta create mode 100644 Assets/Jianghu/Textures/Skill/Ji yun shi/deng.dds create mode 100644 Assets/Jianghu/Textures/Skill/Ji yun shi/deng.dds.meta create mode 100644 Assets/Jianghu/Textures/Skill/Longjuanfeng.meta create mode 100644 Assets/Jianghu/Textures/Skill/Longjuanfeng/风轨迹2.dds create mode 100644 Assets/Jianghu/Textures/Skill/Longjuanfeng/风轨迹2.dds.meta create mode 100644 Assets/Jianghu/Textures/Skill/怪物治疗术.meta create mode 100644 Assets/Jianghu/Textures/Skill/怪物治疗术/magicpurple.dds create mode 100644 Assets/Jianghu/Textures/Skill/怪物治疗术/magicpurple.dds.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物召唤吟唱.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物召唤吟唱.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物召唤施放.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物召唤施放.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物复活吟唱.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物复活吟唱.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物复活施放.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物复活施放.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物治疗吟唱.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/宠物治疗吟唱.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/残体咒吟唱.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/妖精/残体咒吟唱.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/武侠/寸力.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/武侠/寸力.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/武侠/避水诀施放.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/武侠/避水诀施放.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/武侠/霸王龙飞预备1.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/武侠/霸王龙飞预备1.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/法师/避水诀预备.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/法师/避水诀预备.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/通用.meta create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/通用/爆气效果.prefab create mode 100644 Assets/ModelRenderer/Art/Gfx/gfx/人物/技能/通用/爆气效果.prefab.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物召唤施放.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物召唤施放/封引3.mat create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物召唤施放/封引3.mat.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物治疗吟唱.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物治疗吟唱/circle008.mat create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物治疗吟唱/circle008.mat.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物治疗吟唱/liumangxing.mat create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物治疗吟唱/liumangxing.mat.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物治疗吟唱/pattern003.mat create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/宠物治疗吟唱/pattern003.mat.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/寸力.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/寸力/jizhong3.mat create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/寸力/jizhong3.mat.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/残体咒吟唱.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/残体咒吟唱/ringwhite.mat create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/残体咒吟唱/ringwhite.mat.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/爆气效果.meta create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/爆气效果/螺旋.mat create mode 100644 Assets/ModelRenderer/Art/Materials/GFX/爆气效果/螺旋.mat.meta create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/circle008.dds create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/circle008.dds.meta create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/jizhong3.dds create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/jizhong3.dds.meta create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/liumangxing.dds create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/liumangxing.dds.meta create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/pattern003.dds create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/pattern003.dds.meta create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/ringwhite.dds create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/ringwhite.dds.meta create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/封引3.dds create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/封引3.dds.meta create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/螺旋.dds create mode 100644 Assets/ModelRenderer/Art/Textures/gfx/螺旋.dds.meta diff --git a/Assets/AddressableAssetsData/AssetGroups/gfx.asset b/Assets/AddressableAssetsData/AssetGroups/gfx.asset index 570e6662b0..36d5ab0b07 100644 --- a/Assets/AddressableAssetsData/AssetGroups/gfx.asset +++ b/Assets/AddressableAssetsData/AssetGroups/gfx.asset @@ -170,6 +170,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 276771217e06fc4429533caecde40979 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u6B66\u4FA0/\u9738\u738B\u9F99\u98DE\u9884\u59071.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 27efa9095a9bdd049b5f8e9ad441583c m_Address: "gfx/\u7B56\u5212\u8054\u5165/\u4EBA\u7269\u6280\u80FD/\u98DE\u884C/\u8346\u68D8\u7B26\u51FB\u4E2D.gfx" m_ReadOnly: 0 @@ -205,6 +210,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 2e93cce62a520e5418e2e58e69bfda37 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u5996\u7CBE/\u5BA0\u7269\u590D\u6D3B\u65BD\u653E.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 2f9c8434b8ffcb24f95bde313b112087 m_Address: "gfx/\u7B56\u5212\u8054\u5165/\u4EBA\u7269\u6280\u80FD/\u51FB\u4E2D/\u51CC\u6740\u51FB\u4E2D.gfx" m_ReadOnly: 0 @@ -225,6 +235,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 36d0ba0dc12188d4abc71bdf5feba88d + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u5996\u7CBE/\u5BA0\u7269\u53EC\u5524\u65BD\u653E.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 37a48b1dbc5a15249a7a84550b7e41b9 m_Address: "gfx/\u7B56\u5212\u8054\u5165/\u4EBA\u7269\u6280\u80FD/\u98DE\u884C/\u7FBD\u7BAD\u98DE\u884C.gfx" m_ReadOnly: 0 @@ -285,6 +300,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 4629706886519d941b3c82a98d951526 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u901A\u7528/\u7206\u6C14\u6548\u679C.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 47e6c4feb83f4494ebe7d862483ca89e m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u6B66\u4FA0/\u9738\u738B\u65AD\u5CB3\u9884\u5907.gfx" m_ReadOnly: 0 @@ -340,6 +360,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 4ea9519123b6ada478bd181d1910fde0 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u5996\u7CBE/\u5BA0\u7269\u6CBB\u7597\u541F\u5531.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 4f0545dd61d92d14ea210cb48687adee m_Address: "gfx/\u7A0B\u5E8F\u8054\u5165/\u51FB\u4E2D/\u6613\u7B4B\u7ECF.gfx" m_ReadOnly: 0 @@ -365,6 +390,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 548cf75595a07f84b9a0be2c979f1cf0 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u5996\u7CBE/\u5BA0\u7269\u53EC\u5524\u541F\u5531.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 5506e67742f173f4fb2bf6aaed22cdaf m_Address: "gfx/\u7A0B\u5E8F\u8054\u5165/\u51FB\u4E2D/\u4E91\u9F99\u4E5D\u73B0.gfx" m_ReadOnly: 0 @@ -525,6 +555,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 7817781361f53c944a5bfe5f012858d3 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u5996\u7CBE/\u5BA0\u7269\u590D\u6D3B\u541F\u5531.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 7887d4c9101722741b42a2a2392a6ada m_Address: "gfx/\u7A0B\u5E8F\u8054\u5165/\u88C5\u5907\u5B9D\u77F3\u9576\u5D4C/\u767D\u8272\u80F8\u75321\u7EA7.gfx" m_ReadOnly: 0 @@ -740,6 +775,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: abbfb831d6f421f47974e45c92b62aeb + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u6B66\u4FA0/\u5BF8\u529B.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: ac9ab47105d466b499c86e20c7f31631 m_Address: "gfx/\u7A0B\u5E8F\u8054\u5165/\u51FB\u4E2D/\u767D\u8001\u864E\u51FB\u4E2D.gfx" m_ReadOnly: 0 @@ -930,11 +970,21 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: ea9a61b199aa8e044aa934d5bc185e82 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u5996\u7CBE/\u6B8B\u4F53\u5492\u541F\u5531.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: ee06fa330cb215c45b7b471ce1774e14 m_Address: "gfx/\u7B56\u5212\u8054\u5165/\u4EBA\u7269\u6280\u80FD/\u98DE\u884C/\u918D\u9190\u704C\u9876\u51FB\u4E2D.gfx" m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: f1df339040ed6fc4eb3deb6d1e6fa288 + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u6B66\u4FA0/\u907F\u6C34\u8BC0\u65BD\u653E.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: f21ec74a0f368ca489770fe0ac41bf49 m_Address: "gfx/\u7A0B\u5E8F\u8054\u5165/\u51FB\u4E2D/\u6613\u9AD3\u7ECF.gfx" m_ReadOnly: 0 @@ -980,6 +1030,11 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: fa0afc1c1fbee7d44bb1eb4facd6dcef + m_Address: "gfx/\u4EBA\u7269/\u6280\u80FD/\u6CD5\u5E08/\u907F\u6C34\u8BC0\u9884\u5907.gfx" + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: fb880735199ba0c4aae78d252ac8c62a m_Address: "gfx/\u7B56\u5212\u8054\u5165/\u4EBA\u7269\u6280\u80FD/\u51FB\u4E2D/\u75BE\u4E91\u6B65\u51FB\u4E2D.gfx" m_ReadOnly: 0 diff --git a/Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat b/Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat new file mode 100644 index 0000000000..edf8788b0f --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat @@ -0,0 +1,209 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: deng + m_Shader: {fileID: 4800000, guid: 0a016a83287664641b867743f19faf14, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISSOLVETEXUVS_NORMAL + - _DISTORTTEXUVS_NORMAL + - _MAINTEXUVS_NORMAL + - _MASKTEXUVS_NORMAL + m_InvalidKeywords: + - _DISSOLVETEXAR_ON + - _DISTORTTEXAR_ON + - _MASKTEXAR_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DissolveTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 4d615e00a25a84440b6a4a2a8d11bfdc, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaCutoff: 0.5 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendMode: 1 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _CullMode: 0 + - _CustomDissolve: 0 + - _CustomMainTex: 0 + - _Cutoff: 0.5 + - _DepthFade: 1 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DissolveFactor: 0 + - _DissolveSoft: 0.1 + - _DissolveTexAR: 1 + - _DissolveTexClampU: 0 + - _DissolveTexClampV: 0 + - _DissolveTexRotate: 0 + - _DissolveTexUSpeed: 0 + - _DissolveTexUVS: 0 + - _DissolveTexVSpeed: 0 + - _DissolveWide: 0.05 + - _DistortDissolveTex: 0 + - _DistortFactor: 0 + - _DistortMainTex: 0 + - _DistortMaskTex: 0 + - _DistortTexAR: 1 + - _DistortTexClampU: 0 + - _DistortTexClampV: 0 + - _DistortTexRotate: 0 + - _DistortTexUSpeed: 0 + - _DistortTexUVS: 0 + - _DistortTexVSpeed: 0 + - _Dst: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _FDepth: 0 + - _FDissolveTex: 0 + - _FDistortTex: 0 + - _FFnl: 0 + - _FMaskTex: 0 + - _FnlPower: 1 + - _FnlScale: 0 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _MainAlpha: 1 + - _MainTexAR: 0 + - _MainTexClampU: 0 + - _MainTexClampV: 0 + - _MainTexRotate: 0 + - _MainTexUSpeed: 0 + - _MainTexUVS: 0 + - _MainTexVSpeed: 0 + - _MaskTexAR: 1 + - _MaskTexClampU: 0 + - _MaskTexClampV: 0 + - _MaskTexRotate: 0 + - _MaskTexUSpeed: 0 + - _MaskTexUVS: 0 + - _MaskTexVSpeed: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReFnl: 0 + - _ReceiveShadows: 1 + - _Scr: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DissolveColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FnlColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 2.9960787, g: 2.9960787, b: 2.9960787, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &8741123340869993700 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat.meta b/Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat.meta new file mode 100644 index 0000000000..d039473178 --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/Ji yun shi/deng.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e144cd7adfe175488953af8cc9eb7d6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Materials/Skill/Ji yun shi/ray0017.mat b/Assets/Jianghu/Materials/Skill/Ji yun shi/ray0017.mat index 0b6feaded8..35de07ebe4 100755 --- a/Assets/Jianghu/Materials/Skill/Ji yun shi/ray0017.mat +++ b/Assets/Jianghu/Materials/Skill/Ji yun shi/ray0017.mat @@ -11,7 +11,11 @@ Material: m_Shader: {fileID: 4800000, guid: 0a016a83287664641b867743f19faf14, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] + m_ValidKeywords: + - _DISSOLVETEXUVS_NORMAL + - _DISTORTTEXUVS_NORMAL + - _MAINTEXUVS_NORMAL + - _MASKTEXUVS_NORMAL m_InvalidKeywords: - _DISSOLVETEXAR_ON - _DISTORTTEXAR_ON @@ -118,8 +122,11 @@ Material: - _DissolveFactor: 0 - _DissolveSoft: 0.1 - _DissolveTexAR: 1 + - _DissolveTexClampU: 0 + - _DissolveTexClampV: 0 - _DissolveTexRotate: 0 - _DissolveTexUSpeed: 0 + - _DissolveTexUVS: 0 - _DissolveTexVSpeed: 0 - _DissolveWide: 0.05 - _DistortDissolveTex: 0 @@ -127,8 +134,11 @@ Material: - _DistortMainTex: 0 - _DistortMaskTex: 0 - _DistortTexAR: 1 + - _DistortTexClampU: 0 + - _DistortTexClampV: 0 - _DistortTexRotate: 0 - _DistortTexUSpeed: 0 + - _DistortTexUVS: 0 - _DistortTexVSpeed: 0 - _Dst: 1 - _DstBlend: 0 @@ -146,12 +156,18 @@ Material: - _GlossyReflections: 0 - _MainAlpha: 1 - _MainTexAR: 0 + - _MainTexClampU: 0 + - _MainTexClampV: 0 - _MainTexRotate: 0 - _MainTexUSpeed: 0 + - _MainTexUVS: 0 - _MainTexVSpeed: 0 - _MaskTexAR: 1 + - _MaskTexClampU: 0 + - _MaskTexClampV: 0 - _MaskTexRotate: 0 - _MaskTexUSpeed: 0 + - _MaskTexUVS: 0 - _MaskTexVSpeed: 0 - _Metallic: 0 - _OcclusionStrength: 1 diff --git a/Assets/Jianghu/Materials/Skill/Longjuanfeng.meta b/Assets/Jianghu/Materials/Skill/Longjuanfeng.meta new file mode 100644 index 0000000000..9cb6558b20 --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/Longjuanfeng.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 35ed348311def7f40beee88cb546405b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat b/Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat new file mode 100644 index 0000000000..a1a5281f25 --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat @@ -0,0 +1,209 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\u98CE\u8F68\u8FF92" + m_Shader: {fileID: 4800000, guid: 0a016a83287664641b867743f19faf14, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISSOLVETEXUVS_NORMAL + - _DISTORTTEXUVS_NORMAL + - _MAINTEXUVS_NORMAL + - _MASKTEXUVS_NORMAL + m_InvalidKeywords: + - _DISSOLVETEXAR_ON + - _DISTORTTEXAR_ON + - _MASKTEXAR_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DissolveTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 1fba098081774794f94e47a369f27678, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaCutoff: 0.5 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendMode: 1 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _CullMode: 0 + - _CustomDissolve: 0 + - _CustomMainTex: 0 + - _Cutoff: 0.5 + - _DepthFade: 1 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DissolveFactor: 0 + - _DissolveSoft: 0.1 + - _DissolveTexAR: 1 + - _DissolveTexClampU: 0 + - _DissolveTexClampV: 0 + - _DissolveTexRotate: 0 + - _DissolveTexUSpeed: 0 + - _DissolveTexUVS: 0 + - _DissolveTexVSpeed: 0 + - _DissolveWide: 0.05 + - _DistortDissolveTex: 0 + - _DistortFactor: 0 + - _DistortMainTex: 0 + - _DistortMaskTex: 0 + - _DistortTexAR: 1 + - _DistortTexClampU: 0 + - _DistortTexClampV: 0 + - _DistortTexRotate: 0 + - _DistortTexUSpeed: 0 + - _DistortTexUVS: 0 + - _DistortTexVSpeed: 0 + - _Dst: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _FDepth: 0 + - _FDissolveTex: 0 + - _FDistortTex: 0 + - _FFnl: 0 + - _FMaskTex: 0 + - _FnlPower: 1 + - _FnlScale: 0 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _MainAlpha: 1 + - _MainTexAR: 0 + - _MainTexClampU: 0 + - _MainTexClampV: 0 + - _MainTexRotate: 0 + - _MainTexUSpeed: 0 + - _MainTexUVS: 0 + - _MainTexVSpeed: 0 + - _MaskTexAR: 1 + - _MaskTexClampU: 0 + - _MaskTexClampV: 0 + - _MaskTexRotate: 0 + - _MaskTexUSpeed: 0 + - _MaskTexUVS: 0 + - _MaskTexVSpeed: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReFnl: 0 + - _ReceiveShadows: 1 + - _Scr: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DissolveColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FnlColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 2, g: 2, b: 2, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &8741123340869993700 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat.meta b/Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat.meta new file mode 100644 index 0000000000..98b7d498db --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/Longjuanfeng/风轨迹2.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ebf2a635f8d534945b3e35a0eb77c226 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Materials/Skill/怪物治疗术.meta b/Assets/Jianghu/Materials/Skill/怪物治疗术.meta new file mode 100644 index 0000000000..7ab361954c --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/怪物治疗术.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0a91bf0a4308f0f4b9f27425e8057df6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat b/Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat new file mode 100644 index 0000000000..cbe15062cf --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat @@ -0,0 +1,209 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: magicpurple + m_Shader: {fileID: 4800000, guid: 0a016a83287664641b867743f19faf14, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DISSOLVETEXUVS_NORMAL + - _DISTORTTEXUVS_NORMAL + - _MAINTEXUVS_NORMAL + - _MASKTEXUVS_NORMAL + m_InvalidKeywords: + - _DISSOLVETEXAR_ON + - _DISTORTTEXAR_ON + - _MASKTEXAR_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DissolveTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 0b6dd95e01d90384ea96ecad70694966, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaCutoff: 0.5 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendMode: 1 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _CullMode: 0 + - _CustomDissolve: 0 + - _CustomMainTex: 0 + - _Cutoff: 0.5 + - _DepthFade: 1 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DissolveFactor: 0 + - _DissolveSoft: 0.1 + - _DissolveTexAR: 1 + - _DissolveTexClampU: 0 + - _DissolveTexClampV: 0 + - _DissolveTexRotate: 0 + - _DissolveTexUSpeed: 0 + - _DissolveTexUVS: 0 + - _DissolveTexVSpeed: 0 + - _DissolveWide: 0.05 + - _DistortDissolveTex: 0 + - _DistortFactor: 0 + - _DistortMainTex: 0 + - _DistortMaskTex: 0 + - _DistortTexAR: 1 + - _DistortTexClampU: 0 + - _DistortTexClampV: 0 + - _DistortTexRotate: 0 + - _DistortTexUSpeed: 0 + - _DistortTexUVS: 0 + - _DistortTexVSpeed: 0 + - _Dst: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _FDepth: 0 + - _FDissolveTex: 0 + - _FDistortTex: 0 + - _FFnl: 0 + - _FMaskTex: 0 + - _FnlPower: 1 + - _FnlScale: 0 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _MainAlpha: 1 + - _MainTexAR: 0 + - _MainTexClampU: 0 + - _MainTexClampV: 0 + - _MainTexRotate: 0 + - _MainTexUSpeed: 0 + - _MainTexUVS: 0 + - _MainTexVSpeed: 0 + - _MaskTexAR: 1 + - _MaskTexClampU: 0 + - _MaskTexClampV: 0 + - _MaskTexRotate: 0 + - _MaskTexUSpeed: 0 + - _MaskTexUVS: 0 + - _MaskTexVSpeed: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReFnl: 0 + - _ReceiveShadows: 1 + - _Scr: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DissolveColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FnlColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 4, g: 4, b: 4, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &8741123340869993700 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat.meta b/Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat.meta new file mode 100644 index 0000000000..0283a1a05a --- /dev/null +++ b/Assets/Jianghu/Materials/Skill/怪物治疗术/magicpurple.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51afc00629073cf439c5564b7771e0b4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Meshes/measure_cylinder.fbx b/Assets/Jianghu/Meshes/measure_cylinder.fbx new file mode 100644 index 0000000000000000000000000000000000000000..afd409615536bd4fc9c36614479ecfd0c2f2729a GIT binary patch literal 19520 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 JU-YEs{{VjvMjikF literal 0 HcmV?d00001 diff --git a/Assets/Jianghu/Meshes/reverse_cone.fbx.meta b/Assets/Jianghu/Meshes/reverse_cone.fbx.meta new file mode 100644 index 0000000000..61b91f6f2d --- /dev/null +++ b/Assets/Jianghu/Meshes/reverse_cone.fbx.meta @@ -0,0 +1,107 @@ +fileFormatVersion: 2 +guid: 13470d1e9123f1a47bc7ff183b8b0784 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Meshes/爆气效果_deng.fbx b/Assets/Jianghu/Meshes/爆气效果_deng.fbx new file mode 100644 index 0000000000000000000000000000000000000000..84eb9a3c7e3e493844b421de00f78e8077edbeb0 GIT binary patch literal 33856 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 literal 0 HcmV?d00001 diff --git a/Assets/Jianghu/Meshes/爆气效果_deng.fbx.meta b/Assets/Jianghu/Meshes/爆气效果_deng.fbx.meta new file mode 100644 index 0000000000..8438f6e309 --- /dev/null +++ b/Assets/Jianghu/Meshes/爆气效果_deng.fbx.meta @@ -0,0 +1,107 @@ +fileFormatVersion: 2 +guid: 80b994bd735d7564ab115348091bdeb8 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Meshes/爆气效果_火花2.fbx b/Assets/Jianghu/Meshes/爆气效果_火花2.fbx new file mode 100644 index 0000000000000000000000000000000000000000..16921256a1648ba47d94dc75893ea1bd2b66160a GIT binary patch literal 22144 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 literal 0 HcmV?d00001 diff --git a/Assets/Jianghu/Textures/Skill/Ji yun shi/deng.dds.meta b/Assets/Jianghu/Textures/Skill/Ji yun shi/deng.dds.meta new file mode 100644 index 0000000000..3d9aef054b --- /dev/null +++ b/Assets/Jianghu/Textures/Skill/Ji yun shi/deng.dds.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 4d615e00a25a84440b6a4a2a8d11bfdc +IHVImageFormatImporter: + externalObjects: {} + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + isReadable: 0 + sRGBTexture: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + ignoreMipmapLimit: 0 + mipmapLimitGroupName: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Textures/Skill/Longjuanfeng.meta b/Assets/Jianghu/Textures/Skill/Longjuanfeng.meta new file mode 100644 index 0000000000..d9f6f66e20 --- /dev/null +++ b/Assets/Jianghu/Textures/Skill/Longjuanfeng.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 78caec046dc1473449e911deee82af6a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Jianghu/Textures/Skill/Longjuanfeng/风轨迹2.dds b/Assets/Jianghu/Textures/Skill/Longjuanfeng/风轨迹2.dds new file mode 100644 index 0000000000000000000000000000000000000000..5a2763202dbddaa6f7503c44b86b17ee8beea738 GIT binary patch literal 21992 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 literal 0 HcmV?d00001 diff --git a/Assets/ModelRenderer/Art/Textures/gfx/jizhong3.dds.meta b/Assets/ModelRenderer/Art/Textures/gfx/jizhong3.dds.meta new file mode 100644 index 0000000000..1a57cef092 --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/gfx/jizhong3.dds.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 9393515b1de27c04eb89a47589fbeda6 +IHVImageFormatImporter: + externalObjects: {} + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + isReadable: 0 + sRGBTexture: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + ignoreMipmapLimit: 0 + mipmapLimitGroupName: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Textures/gfx/liumangxing.dds b/Assets/ModelRenderer/Art/Textures/gfx/liumangxing.dds new file mode 100644 index 0000000000000000000000000000000000000000..17fae14ff9628983acafbce8e438c741db797729 GIT binary patch literal 11064 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

b5S;E5?=e$>jPYN=#%%lF1`Vtr$6- GO#Tm-2wc$s literal 0 HcmV?d00001 diff --git a/Assets/ModelRenderer/Art/Textures/gfx/liumangxing.dds.meta b/Assets/ModelRenderer/Art/Textures/gfx/liumangxing.dds.meta new file mode 100644 index 0000000000..3a00ea83eb --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/gfx/liumangxing.dds.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 290d531397254ab4c91a0324a40e6db4 +IHVImageFormatImporter: + externalObjects: {} + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + isReadable: 0 + sRGBTexture: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + ignoreMipmapLimit: 0 + mipmapLimitGroupName: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Textures/gfx/pattern003.dds b/Assets/ModelRenderer/Art/Textures/gfx/pattern003.dds new file mode 100644 index 0000000000000000000000000000000000000000..90bce396e2084b3b1b9531e80a17d5eb3e507830 GIT binary patch literal 11064 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 literal 0 HcmV?d00001 diff --git a/Assets/ModelRenderer/Art/Textures/gfx/pattern003.dds.meta b/Assets/ModelRenderer/Art/Textures/gfx/pattern003.dds.meta new file mode 100644 index 0000000000..fcd30ccd95 --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/gfx/pattern003.dds.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: a33a58ea87c08f5458d946add100e740 +IHVImageFormatImporter: + externalObjects: {} + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + isReadable: 0 + sRGBTexture: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + ignoreMipmapLimit: 0 + mipmapLimitGroupName: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Textures/gfx/ringwhite.dds b/Assets/ModelRenderer/Art/Textures/gfx/ringwhite.dds new file mode 100644 index 0000000000000000000000000000000000000000..aa493aa37f6b654f2a5dd7c2e18b7827c6c1f2b5 GIT binary patch literal 11064 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ř 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 literal 0 HcmV?d00001 diff --git a/Assets/ModelRenderer/Art/Textures/gfx/螺旋.dds.meta b/Assets/ModelRenderer/Art/Textures/gfx/螺旋.dds.meta new file mode 100644 index 0000000000..4fd46d9dfe --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/gfx/螺旋.dds.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 741b66413513b254c86b395173d80b36 +IHVImageFormatImporter: + externalObjects: {} + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + isReadable: 0 + sRGBTexture: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + ignoreMipmapLimit: 0 + mipmapLimitGroupName: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index 6540e7bb30..df5cb83890 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -2508,10 +2508,15 @@ namespace BrewMonster } else { - /* if ((*//*UsingWing()*//*m_wingType == enumWingType.WINGTYPE_WING && IsFlying()) || (GetProfession() == PROF_ANGEL) || (GetProfession() == PROF_ARCHOR) || (GetProfession() == PROF_MONK) || (GetProfession() == PROF_GHOST)) - sprintf(szAct, "%s_¿ÕÖгá°ò_Ò÷³ª_%s", data.action_prefix, data.action_weapon_suffix[weapon_type].suffix); - else - sprintf(szAct, "%s_¿ÕÖзɽ£_Ò÷³ª_%s", data.action_prefix, data.action_weapon_suffix[weapon_type].suffix);*/ + string szAirCastMid = + ((m_wingType == enumWingType.WINGTYPE_WING && IsFlying()) || + GetProfession() == (int)PROFESSION.PROF_ANGEL || + GetProfession() == (int)PROFESSION.PROF_ARCHOR || + GetProfession() == (int)PROFESSION.PROF_MONK || + GetProfession() == (int)PROFESSION.PROF_GHOST) + ? "_空中翅膀_吟唱_" // Air cast with wings / 空中翅膀吟唱 + : "_空中飞剑_吟唱_"; // Air cast with flysword / 空中飞剑吟唱 + szAct = EC_Utility.BuildActionName(data, weapon_type, szAirCastMid); } bool bHideFX = false; /*!CECOptimize::Instance().GetGFX().CanShowCast(GetCharacterID(), GetClassID());*/ if (!PlaySkillCastActionWithName(idSkill, szAct, bHideFX)) diff --git a/Assets/PerfectWorld/Scripts/NPC/CECModel.cs b/Assets/PerfectWorld/Scripts/NPC/CECModel.cs index 562ff44645..382cb177c5 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECModel.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECModel.cs @@ -252,9 +252,10 @@ public class A3DCombActDynData // LoadPrefabAsync returns the prefab asset; must Instantiate before modifying transform. // LoadPrefabAsync 返回的是预制体资源,必须先 Instantiate 再改 Transform。 fx = GameObject.Instantiate(prefab, m_pECModel.transform); + Quaternion prefabRotation = prefab.transform.rotation; fx.SetActive(true); fx.transform.localPosition = Vector3.zero; - fx.transform.localRotation = Quaternion.identity; + fx.transform.localRotation = prefabRotation; fx.transform.localScale = Vector3.one; ParticleSystem ps = fx.GetComponent(); if (ps != null) @@ -262,13 +263,17 @@ public class A3DCombActDynData } else if (prefab == null) { - GameObject prefab2 = Resources.Load("GFX/" + "PlaceHolder"); + //THis for null gfx prefab. + Debug.LogWarning("Missing gfx prefab, using placeholder: " + path); + string path2 = "gfx/人物/技能/妖精/宠物召唤吟唱.gfx"; + GameObject prefab2 = await AddressableManager.Instance.LoadPrefabAsync(path2); if(prefab2 != null && m_pECModel != null) { fx = GameObject.Instantiate(prefab2, m_pECModel.transform); + Quaternion prefabRotation = prefab2.transform.rotation; fx.SetActive(true); fx.transform.localPosition = Vector3.zero; - fx.transform.localRotation = Quaternion.identity; + fx.transform.localRotation = prefabRotation; fx.transform.localScale = Vector3.one; ParticleSystem ps2 = fx.GetComponent(); if (ps2 != null) @@ -1068,7 +1073,9 @@ public class CECModel // pChild->SetDisableCamShake(m_bDisableCamShake); // pChild->SetCreatedByGfx(m_bCreatedByGfx); - if (pChild.InheritParentId()) + // Only copy parent id when it is non-zero; mount/navigate shells often keep id 0 and must not wipe child's cid (e.g. player already SetId in clone load). + // 仅当父 id 非 0 时才覆盖子 id;骑乘/导航载体常为 0,不能抹掉子模型已设的 cid(如克隆加载时 SetId)。 + if (pChild.InheritParentId() && m_nId != 0) pChild.SetId(m_nId); m_childModels[szHangerName] = pChild; @@ -1124,7 +1131,9 @@ public class CECModel } if (!bRestart && pActive != null && pActive.GetComAct().m_strName == szActName) + { return true; + } // if (m_pBlurInfo != null && m_pBlurInfo.m_bRoot && m_pBlurInfo.m_bStopWhenActChange) // RemoveMotionBlurInfo(); diff --git a/Assets/PerfectWorld/Scripts/Players/CECHostNavigatePlayer.cs b/Assets/PerfectWorld/Scripts/Players/CECHostNavigatePlayer.cs index 49e0edb128..0c458f8dcb 100644 --- a/Assets/PerfectWorld/Scripts/Players/CECHostNavigatePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/CECHostNavigatePlayer.cs @@ -1,397 +1,397 @@ -using BrewMonster; -using BrewMonster.Scripts; -using System.Threading.Tasks; -using UnityEngine; -using CSNetwork.GPDataType; -using Cysharp.Threading.Tasks; -namespace BrewMonster.Scripts -{ - // CECHostNavigatePlayer class - Basic implementation for navigation player // CECHostNavigatePlayer类 - 导航玩家的基本实现 - public class CECHostNavigatePlayer : CECClonePlayer, ITickable - { - protected CECNavigateCtrl m_pNavigateCtrl; // Force navigate // 强制导航 - protected CECHostPlayer m_pHostPlayer = null; // Reference to host player // 对宿主玩家的引用 - protected string m_szNavigateModelFile; - protected CECModel m_pNavigateModel; - protected CECModel playerModel; - protected bool m_bNavigateModelApplied; // Whether navigate model has been applied // 移动模型是否已应用 - ///

- /// MonoBehaviour must not be constructed with new; use AddComponent then call this. - /// MonoBehaviour 不能用 new 构造;请用 AddComponent 再调用本方法。 - /// - public void InitializeHost(CECHostPlayer pHost) - { - - m_szNavigateModelFile = null; - m_bNavigateModelApplied = false; - m_pNavigateModel = null; - - m_iCID = (int)Class_ID.OCID_CLONED_PLAYER; - m_bCastShadow = true; - m_bShowCustomize = true; - m_pHostPlayer = pHost; - m_pNavigateCtrl = pHost != null ? new CECNavigateCtrl(pHost) : null; - } - - public A3DVECTOR3 GetDir() - { - if (m_pHostPlayer != null) - { - // Get direction from host's transform // 从宿主的变换获取方向 - Transform hostTransform = m_pHostPlayer.transform; - if (hostTransform != null) - { - Vector3 forward = hostTransform.forward; - return new A3DVECTOR3(forward.x, forward.y, forward.z); - } - } - return new A3DVECTOR3(0, 0, 1); - } - public A3DVECTOR3 GetUp() - { - Transform hostTransform = m_pHostPlayer.transform; - if (hostTransform != null) - { - Vector3 up = hostTransform.up; - return new A3DVECTOR3(up.x, up.y, up.z); - } - return new A3DVECTOR3(0, 1, 0); - } - - - public void ChangeModelMoveDirAndUp(A3DVECTOR3 vDir, A3DVECTOR3 vUp) - { - if (m_pHostPlayer != null && m_pHostPlayer.transform != null) - { - // Update host's rotation based on direction // 根据方向更新宿主的旋转 - Vector3 dir = new Vector3(vDir.x, vDir.y, vDir.z); - Vector3 up = new Vector3(vUp.x, vUp.y, vUp.z); - - if (dir.magnitude > 0.01f) - { - Quaternion rotation = Quaternion.LookRotation(dir, up); - m_pHostPlayer.transform.rotation = rotation; - } - } - } - public void SetNavigateModelFile(string szFile) - { - m_szNavigateModelFile = szFile; - } - - public CECNavigateCtrl GetNavigateCtrl() { return m_pNavigateCtrl; } - - // Handle navigation event // 处理导航事件 - public void OnNavigateEvent(int task, int e) - { - if (m_pNavigateCtrl == null) - { - return; - } - - if (e == (int)CECNavigateCtrl.NavigateEvent.EM_PREPARE) - { - m_pNavigateCtrl.OnPrepareNavigate(task); - } - else if (e == (int)CECNavigateCtrl.NavigateEvent.EM_BEGIN) - { - m_pNavigateCtrl.OnBeginNavigate(); - } - else if (e == (int)CECNavigateCtrl.NavigateEvent.EM_END) - { - m_pNavigateCtrl.OnEndNavigate(); - } - } - - public bool LoadConfig() - { - m_pNavigateCtrl = new CECNavigateCtrl(m_pHostPlayer); - if (m_pNavigateCtrl != null) - return m_pNavigateCtrl.LoadConfig("configs\\force_navigate.txt"); - else - { - BMLogger.LogError("CECHostNavigatePlayer::Init, Failed to load config."); - } - return false; - } - public override CECModel GetRenderModel() - { - return m_pNavigateModel != null ? m_pNavigateModel : base.GetRenderModel(); - } - public bool IsNavigateMoving() - { - if (m_pNavigateCtrl != null && m_pNavigateCtrl.GetBezierWalker() != null) - return m_pNavigateCtrl.GetBezierWalker().IsWalking(); - return false; - } - public override void Release() - { - TeardownNavigatePlayerVisual(); - base.Release(); - if (m_pNavigateModel != null && m_pNavigateModel.m_pPlayerModel != null) - { - Transform hhRide = m_pNavigateModel.m_pPlayerModel.transform.Find("HH_ride"); - if (hhRide != null) - { - Destroy(hhRide.gameObject); - } - Destroy(m_pNavigateModel.m_pPlayerModel); - m_pNavigateModel = null; - } - if (m_pNavigateCtrl != null) - { - m_pNavigateCtrl = null; - } - m_bNavigateModelApplied = false; - TickInvoker.Instance.UnregisterTickable(this); - } - /// - /// Load optional force-navigate dummy model via Addressables, then clone host visuals. - /// 通过 Addressables 加载可选的强制导航替身模型,再克隆宿主外观。 - /// - public async Task Init() - { - if (m_pHostPlayer == null) - { - return false; - } - int debugStep = 0; - m_bNavigateModelApplied = false; - - // Load navigate model // 加载导航模型 - if (!string.IsNullOrEmpty(m_szNavigateModelFile)) - { - if (m_pNavigateModel != null) - { - if (m_pNavigateModel.m_pPlayerModel != null) - { - Transform hhRide = m_pNavigateModel.m_pPlayerModel.transform.Find("HH_ride"); - if (hhRide != null) - foreach (Transform child in hhRide) - { - Destroy(child.gameObject); - } - - Destroy(m_pNavigateModel.m_pPlayerModel); - } - m_pNavigateModel = null; - } - string address = AFile.NormalizePath(m_szNavigateModelFile.ToLower(), true); - GameObject prefab = await AddressableManager.Instance.LoadPrefabAsync(address); - if (prefab == null) - { - BMLogger.LogError($"CECHostNavigatePlayer::InitAsync, Failed to load navigate model: {address}"); - } - else - { - GameObject instance = ObjectSpawner.Instance.InstantiateObject(prefab); - instance.transform.localPosition = Vector3.zero; - instance.transform.localRotation = Quaternion.identity; - instance.transform.localScale = Vector3.one; - - m_pNavigateModel = new CECModel(); - m_pNavigateModel.m_pPlayerModel = instance; - SkeletonBuilder skeletonBuilder = instance.GetComponentInChildren(true); - if (skeletonBuilder != null) - { - m_pNavigateModel.SetSkeletonBuilder(skeletonBuilder); - m_pNavigateModel.SetTransform(instance.transform); - m_pNavigateModel.InitializeSkeletonBuilder(); - } - else - { - m_pNavigateModel.SetTransform(instance.transform); - } - - AddressableManager.Instance.ReleaseAsset(address); - } - } - - CameraController.Instance.UpdateFollowObject(m_pNavigateModel.transform); - TickInvoker.Instance.RegisterTickable(this); - // Clone host player model/equipment // 克隆宿主玩家模型与装备 - BMLogger.Log($"CECHostNavigatePlayer::InitAsync, debugStep: {debugStep++}"); - bool loaded = await LoadFrom(m_pHostPlayer, false); - if (loaded) - SetupNavigatePlayerVisual(); - return loaded; - } - - /// - /// Subscribe navigate clone to the same cid animation channel as the host (host unsubscribes first). - /// 与宿主相同 cid 的动画通道:先取消宿主订阅,再初始化导航克隆的 PlayerVisual。 - /// - void SetupNavigatePlayerVisual() - { - if (!TryGetComponent(out var navigateVisual)) - return; - if (m_pHostPlayer != null && m_pHostPlayer.TryGetComponent(out var hostVisual)) - hostVisual.UnregisterPlayerEventHandlers(); - navigateVisual.InitPlayerEventDoneHandler(); - } - - /// - /// Restore host PlayerVisual subscriptions when force navigate ends. - /// 强制导航结束时恢复宿主的 PlayerVisual 订阅。 - /// - void TeardownNavigatePlayerVisual() - { - if (TryGetComponent(out var navigateVisual)) - navigateVisual.UnregisterPlayerEventHandlers(); - if (m_pHostPlayer != null && m_pHostPlayer.TryGetComponent(out var hostVisual)) - hostVisual.InitPlayerEventDoneHandler(); - } - public bool IsReadyNavigate() - { - return IsAllResReady() && m_bNavigateModelApplied; - } - public bool PlayNavigateAction() - { - if (m_pNavigateModel != null) - { - string szPetAct = null; - szPetAct = CECNPC.GetBaseActionName((int)PLAYER_ACTION_TYPE.ACT_WALK); - EventBus.PublishChannel(m_PlayerInfo.cid, new PlayActionEvent(szPetAct, 200, true)); - } - - PLAYER_ACTION action = m_PlayerActions[(int)PLAYER_ACTION_TYPE.ACT_STAND]; - - string szAct = $"{action.data.ActionPrefix}_骑乘_通用"; - - PlayNonSkillActionWithName(szAct); - return true; - } - public bool PlayNonSkillActionWithName(string szAct) - { - if (m_pActionController != null) - { - Debug.Log($"CECHostNavigatePlayer::PlayNonSkillActionWithName, szAct: {szAct} of object {m_pActionController.PlayerModel.transform.parent.name}"); - return m_pActionController.PlayNonSkillActionWithName(GetMoveStandAction(false, IsFighting()), szAct); - } - return false; - } - public override bool Tick(uint dwDeltatime) - { - base.Tick(dwDeltatime); - Debug.Log($"CECHostNavigatePlayer::Tick, m_bNavigateModelApplied: {m_bNavigateModelApplied}"); - if (!m_bNavigateModelApplied /*&& IsAllResReady()*/) - { - ApplyNavigateModel(); - // if(!IsShapeChanged()) - // ApplyNavigateModel(); - // else if (IsShapeChanged() && IsShapeModelChanged() && m_pNavigateModel != null) - // ApplyNavigateModel(); - } - return true; - } - public Vector3 GetNavigateModelPosition() - { - if (m_pNavigateModel == null || m_pNavigateModel.m_pPlayerModel == null) - return m_pHostPlayer.transform.position; - return m_pNavigateModel.m_pPlayerModel.transform.position; - } - - /// - /// Safe world position for streaming when navigate model is not ready yet. - /// 导航模型未就绪时用于流式加载的安全世界坐标。 - /// - public bool TryGetNavigateModelPosition(out Vector3 position) - { - position = default; - if (m_pNavigateModel == null || m_pNavigateModel.m_pPlayerModel == null) - return false; - position = m_pNavigateModel.m_pPlayerModel.transform.position; - return true; - } - - // A3DAABB CECHostNavigatePlayer::GetShadowAABB(){ - // A3DAABB shadowAABB; - // shadowAABB.Clear(); - // shadowAABB.Merge(m_aabb); - // - // if(m_pNavigateModel) - // shadowAABB.Merge(m_pNavigateModel->GetModelAABB()); - // else if (IsRidingOnPet() && m_pPetModel && m_pPetModel->GetA3DSkinModel()) - // shadowAABB.Merge(m_pPetModel->GetModelAABB()); - // else if (GetPlayerModel() && GetPlayerModel()->GetA3DSkinModel()) - // shadowAABB.Merge(GetPlayerModel()->GetModelAABB()); - // - // return shadowAABB; - // } - public override void SetDirAndUp(A3DVECTOR3 vDir, A3DVECTOR3 vUp) - { - base.SetDirAndUp(vDir, vUp); - if (m_pNavigateModel != null) - { - Vector3 dir = new Vector3(vDir.x, vDir.y, vDir.z); - Vector3 up = new Vector3(vUp.x, vUp.y, vUp.z); - if (dir.magnitude > 0.01f) - { - Quaternion lookRot = Quaternion.LookRotation(dir, up); - m_pNavigateModel.m_pPlayerModel.transform.rotation = lookRot; - } - m_bAdjustOrient = false; - } - } - public void ResetHookPosition() - { - if (m_pNavigateModel != null) - { - m_pNavigateModel.ResetHookPosition(_hh_ride); - } - } - protected override bool ShouldLoadEquipment(int index) - { - return index != InventoryConst.EQUIPIVTR_FLYSWORD; - } - protected override void OnCloneSimpleProperty() - { - // m_pNavigateModel needs mount hook on cloned model; duplicate attach/release — do not load riding pet again here // m_pNavigateModel 需要挂接克隆模型挂点,避免重复释放,故不再加载骑宠 - m_RidingPet.Reset(); - } - public override void SetPos(Vector3 vPos) - { - base.SetPos(vPos); - if (m_pNavigateModel != null) - { - m_pNavigateModel.m_pPlayerModel.transform.position = - vPos; - } - - } - - private bool ApplyNavigateModel() - { - - // if ( !GetMajorModel() || m_pNavigateModel == null || m_bNavigateModelApplied) - // return false; - - A3DVECTOR3 vCurPos = GetPos(); - - m_aabbServer.Center = vCurPos + new A3DVECTOR3(0.0f, m_aabbServer.Extents.y, 0.0f); - m_aabbServer.CompleteMinsMaxs(); - - SetUseGroundNormal(true); - - // Hang character model on force-navigate model // 把角色模型挂到强制移动模型上 - // int iIndex; - // A3DSkeletonHook* pHook = GetMajorModel()->GetA3DSkinModel()->GetSkeleton()->GetHook(_cc_ride, &iIndex); - // if (pHook) pHook->SetFixDirFlag(true); - - m_pNavigateModel.AddChildModel(_hanger_ride, false, _hh_ride, GetPlayerModel(), _cc_ride); - // if(IsShapeModelChanged()) - // m_pNavigateModel.AddChildModel(_hanger_ride, false, _hh_ride, GetPlayerModel(), "HH_feijian"); - // else - // m_pNavigateModel.AddChildModel(_hanger_ride, false, _hh_ride, GetMajorModel(), _cc_ride); - - //m_pNavigateModel->GetA3DSkinModel()->Update(0); - - // PlayAction(GetMoveStandAction(false, IsFighting()), 1.0f, true); - PlayNavigateAction(); - m_bNavigateModelApplied = true; - - OnNavigateEvent(0, (int)CECNavigateCtrl.NavigateEvent.EM_BEGIN); - return true; - } - } -} +using BrewMonster; +using BrewMonster.Scripts; +using System.Threading.Tasks; +using UnityEngine; +using CSNetwork.GPDataType; +using Cysharp.Threading.Tasks; +namespace BrewMonster.Scripts +{ + // CECHostNavigatePlayer class - Basic implementation for navigation player // CECHostNavigatePlayer类 - 导航玩家的基本实现 + public class CECHostNavigatePlayer : CECClonePlayer, ITickable + { + protected CECNavigateCtrl m_pNavigateCtrl; // Force navigate // 强制导航 + protected CECHostPlayer m_pHostPlayer = null; // Reference to host player // 对宿主玩家的引用 + protected string m_szNavigateModelFile; + protected CECModel m_pNavigateModel; + protected CECModel playerModel; + protected bool m_bNavigateModelApplied; // Whether navigate model has been applied // 移动模型是否已应用 + /// + /// MonoBehaviour must not be constructed with new; use AddComponent then call this. + /// MonoBehaviour 不能用 new 构造;请用 AddComponent 再调用本方法。 + /// + public void InitializeHost(CECHostPlayer pHost) + { + + m_szNavigateModelFile = null; + m_bNavigateModelApplied = false; + m_pNavigateModel = null; + + m_iCID = (int)Class_ID.OCID_HOST_NAVIGATER; + m_bCastShadow = true; + m_bShowCustomize = true; + m_pHostPlayer = pHost; + m_pNavigateCtrl = pHost != null ? new CECNavigateCtrl(pHost) : null; + } + + public A3DVECTOR3 GetDir() + { + if (m_pHostPlayer != null) + { + // Get direction from host's transform // 从宿主的变换获取方向 + Transform hostTransform = m_pHostPlayer.transform; + if (hostTransform != null) + { + Vector3 forward = hostTransform.forward; + return new A3DVECTOR3(forward.x, forward.y, forward.z); + } + } + return new A3DVECTOR3(0, 0, 1); + } + public A3DVECTOR3 GetUp() + { + Transform hostTransform = m_pHostPlayer.transform; + if (hostTransform != null) + { + Vector3 up = hostTransform.up; + return new A3DVECTOR3(up.x, up.y, up.z); + } + return new A3DVECTOR3(0, 1, 0); + } + + + public void ChangeModelMoveDirAndUp(A3DVECTOR3 vDir, A3DVECTOR3 vUp) + { + if (m_pHostPlayer != null && m_pHostPlayer.transform != null) + { + // Update host's rotation based on direction // 根据方向更新宿主的旋转 + Vector3 dir = new Vector3(vDir.x, vDir.y, vDir.z); + Vector3 up = new Vector3(vUp.x, vUp.y, vUp.z); + + if (dir.magnitude > 0.01f) + { + Quaternion rotation = Quaternion.LookRotation(dir, up); + m_pHostPlayer.transform.rotation = rotation; + } + } + } + public void SetNavigateModelFile(string szFile) + { + m_szNavigateModelFile = szFile; + } + + public CECNavigateCtrl GetNavigateCtrl() { return m_pNavigateCtrl; } + + // Handle navigation event // 处理导航事件 + public void OnNavigateEvent(int task, int e) + { + if (m_pNavigateCtrl == null) + { + return; + } + + if (e == (int)CECNavigateCtrl.NavigateEvent.EM_PREPARE) + { + m_pNavigateCtrl.OnPrepareNavigate(task); + } + else if (e == (int)CECNavigateCtrl.NavigateEvent.EM_BEGIN) + { + m_pNavigateCtrl.OnBeginNavigate(); + } + else if (e == (int)CECNavigateCtrl.NavigateEvent.EM_END) + { + m_pNavigateCtrl.OnEndNavigate(); + } + } + + public bool LoadConfig() + { + m_pNavigateCtrl = new CECNavigateCtrl(m_pHostPlayer); + if (m_pNavigateCtrl != null) + return m_pNavigateCtrl.LoadConfig("configs\\force_navigate.txt"); + else + { + BMLogger.LogError("CECHostNavigatePlayer::Init, Failed to load config."); + } + return false; + } + public override CECModel GetRenderModel() + { + return m_pNavigateModel != null ? m_pNavigateModel : base.GetRenderModel(); + } + public bool IsNavigateMoving() + { + if (m_pNavigateCtrl != null && m_pNavigateCtrl.GetBezierWalker() != null) + return m_pNavigateCtrl.GetBezierWalker().IsWalking(); + return false; + } + public override void Release() + { + TeardownNavigatePlayerVisual(); + base.Release(); + if (m_pNavigateModel != null && m_pNavigateModel.m_pPlayerModel != null) + { + Transform hhRide = m_pNavigateModel.m_pPlayerModel.transform.Find("HH_ride"); + if (hhRide != null) + { + Destroy(hhRide.gameObject); + } + Destroy(m_pNavigateModel.m_pPlayerModel); + m_pNavigateModel = null; + } + if (m_pNavigateCtrl != null) + { + m_pNavigateCtrl = null; + } + m_bNavigateModelApplied = false; + TickInvoker.Instance.UnregisterTickable(this); + } + /// + /// Load optional force-navigate dummy model via Addressables, then clone host visuals. + /// 通过 Addressables 加载可选的强制导航替身模型,再克隆宿主外观。 + /// + public async Task Init() + { + if (m_pHostPlayer == null) + { + return false; + } + int debugStep = 0; + m_bNavigateModelApplied = false; + + // Load navigate model // 加载导航模型 + if (!string.IsNullOrEmpty(m_szNavigateModelFile)) + { + if (m_pNavigateModel != null) + { + if (m_pNavigateModel.m_pPlayerModel != null) + { + Transform hhRide = m_pNavigateModel.m_pPlayerModel.transform.Find("HH_ride"); + if (hhRide != null) + foreach (Transform child in hhRide) + { + Destroy(child.gameObject); + } + + Destroy(m_pNavigateModel.m_pPlayerModel); + } + m_pNavigateModel = null; + } + string address = AFile.NormalizePath(m_szNavigateModelFile.ToLower(), true); + GameObject prefab = await AddressableManager.Instance.LoadPrefabAsync(address); + if (prefab == null) + { + BMLogger.LogError($"CECHostNavigatePlayer::InitAsync, Failed to load navigate model: {address}"); + } + else + { + GameObject instance = ObjectSpawner.Instance.InstantiateObject(prefab); + instance.transform.localPosition = Vector3.zero; + instance.transform.localRotation = Quaternion.identity; + instance.transform.localScale = Vector3.one; + + m_pNavigateModel = new CECModel(); + m_pNavigateModel.m_pPlayerModel = instance; + SkeletonBuilder skeletonBuilder = instance.GetComponentInChildren(true); + if (skeletonBuilder != null) + { + m_pNavigateModel.SetSkeletonBuilder(skeletonBuilder); + m_pNavigateModel.SetTransform(instance.transform); + m_pNavigateModel.InitializeSkeletonBuilder(); + } + else + { + m_pNavigateModel.SetTransform(instance.transform); + } + + AddressableManager.Instance.ReleaseAsset(address); + } + } + + CameraController.Instance.UpdateFollowObject(m_pNavigateModel.transform); + TickInvoker.Instance.RegisterTickable(this); + // Clone host player model/equipment // 克隆宿主玩家模型与装备 + BMLogger.Log($"CECHostNavigatePlayer::InitAsync, debugStep: {debugStep++}"); + bool loaded = await LoadFrom(m_pHostPlayer, false); + if (loaded) + SetupNavigatePlayerVisual(); + return loaded; + } + + /// + /// Subscribe navigate clone to the same cid animation channel as the host (host unsubscribes first). + /// 与宿主相同 cid 的动画通道:先取消宿主订阅,再初始化导航克隆的 PlayerVisual。 + /// + void SetupNavigatePlayerVisual() + { + if (!TryGetComponent(out var navigateVisual)) + return; + if (m_pHostPlayer != null && m_pHostPlayer.TryGetComponent(out var hostVisual)) + hostVisual.UnregisterPlayerEventHandlers(); + navigateVisual.InitPlayerEventDoneHandler(); + } + + /// + /// Restore host PlayerVisual subscriptions when force navigate ends. + /// 强制导航结束时恢复宿主的 PlayerVisual 订阅。 + /// + void TeardownNavigatePlayerVisual() + { + if (TryGetComponent(out var navigateVisual)) + navigateVisual.UnregisterPlayerEventHandlers(); + if (m_pHostPlayer != null && m_pHostPlayer.TryGetComponent(out var hostVisual)) + hostVisual.InitPlayerEventDoneHandler(); + } + public bool IsReadyNavigate() + { + return IsAllResReady() && m_bNavigateModelApplied; + } + public bool PlayNavigateAction() + { + if (m_pNavigateModel != null) + { + string szPetAct = null; + szPetAct = CECNPC.GetBaseActionName((int)PLAYER_ACTION_TYPE.ACT_WALK); + m_pNavigateModel.PlayActionByName(szPetAct, 1.0f, false, 200, true, 0); + } + + PLAYER_ACTION action = m_PlayerActions[(int)PLAYER_ACTION_TYPE.ACT_STAND]; + + string szAct = $"{action.data.ActionPrefix}_骑乘_通用"; + + PlayNonSkillActionWithName(szAct); + return true; + } + public bool PlayNonSkillActionWithName(string szAct) + { + if (m_pActionController != null) + { + return m_pActionController.PlayNonSkillActionWithName(GetMoveStandAction(false, IsFighting()), szAct); + } + return false; + } + public override bool Tick(uint dwDeltatime) + { + base.Tick(dwDeltatime); + Debug.Log($"CECHostNavigatePlayer::Tick, m_bNavigateModelApplied: {m_bNavigateModelApplied}"); + if (!m_bNavigateModelApplied /*&& IsAllResReady()*/) + { + ApplyNavigateModel(); + // if(!IsShapeChanged()) + // ApplyNavigateModel(); + // else if (IsShapeChanged() && IsShapeModelChanged() && m_pNavigateModel != null) + // ApplyNavigateModel(); + } + return true; + } + public Vector3 GetNavigateModelPosition() + { + if (m_pNavigateModel == null || m_pNavigateModel.m_pPlayerModel == null) + return m_pHostPlayer.transform.position; + return m_pNavigateModel.m_pPlayerModel.transform.position; + } + + /// + /// Safe world position for streaming when navigate model is not ready yet. + /// 导航模型未就绪时用于流式加载的安全世界坐标。 + /// + public bool TryGetNavigateModelPosition(out Vector3 position) + { + position = default; + if (m_pNavigateModel == null || m_pNavigateModel.m_pPlayerModel == null) + return false; + position = m_pNavigateModel.m_pPlayerModel.transform.position; + return true; + } + + // A3DAABB CECHostNavigatePlayer::GetShadowAABB(){ + // A3DAABB shadowAABB; + // shadowAABB.Clear(); + // shadowAABB.Merge(m_aabb); + // + // if(m_pNavigateModel) + // shadowAABB.Merge(m_pNavigateModel->GetModelAABB()); + // else if (IsRidingOnPet() && m_pPetModel && m_pPetModel->GetA3DSkinModel()) + // shadowAABB.Merge(m_pPetModel->GetModelAABB()); + // else if (GetPlayerModel() && GetPlayerModel()->GetA3DSkinModel()) + // shadowAABB.Merge(GetPlayerModel()->GetModelAABB()); + // + // return shadowAABB; + // } + public override void SetDirAndUp(A3DVECTOR3 vDir, A3DVECTOR3 vUp) + { + base.SetDirAndUp(vDir, vUp); + if (m_pNavigateModel != null) + { + Vector3 dir = new Vector3(vDir.x, vDir.y, vDir.z); + Vector3 up = new Vector3(vUp.x, vUp.y, vUp.z); + if (dir.magnitude > 0.01f) + { + Quaternion lookRot = Quaternion.LookRotation(dir, up); + m_pNavigateModel.m_pPlayerModel.transform.rotation = lookRot; + } + m_bAdjustOrient = false; + } + } + public void ResetHookPosition() + { + if (m_pNavigateModel != null) + { + m_pNavigateModel.ResetHookPosition(_hh_ride); + } + } + protected override bool ShouldLoadEquipment(int index) + { + return index != InventoryConst.EQUIPIVTR_FLYSWORD; + } + protected override void OnCloneSimpleProperty() + { + base.OnCloneSimpleProperty(); // SetId on player model etc. // 调用基类:玩家模型 SetId 等 + // m_pNavigateModel needs mount hook on cloned model; duplicate attach/release — do not load riding pet again here // m_pNavigateModel 需要挂接克隆模型挂点,避免重复释放,故不再加载骑宠 + m_RidingPet.Reset(); + } + public override void SetPos(Vector3 vPos) + { + base.SetPos(vPos); + if (m_pNavigateModel != null) + { + m_pNavigateModel.m_pPlayerModel.transform.position = + vPos; + } + + } + + private bool ApplyNavigateModel() + { + + // if ( !GetMajorModel() || m_pNavigateModel == null || m_bNavigateModelApplied) + // return false; + + A3DVECTOR3 vCurPos = GetPos(); + + m_aabbServer.Center = vCurPos + new A3DVECTOR3(0.0f, m_aabbServer.Extents.y, 0.0f); + m_aabbServer.CompleteMinsMaxs(); + + SetUseGroundNormal(true); + + // Hang character model on force-navigate model // 把角色模型挂到强制移动模型上 + // int iIndex; + // A3DSkeletonHook* pHook = GetMajorModel()->GetA3DSkinModel()->GetSkeleton()->GetHook(_cc_ride, &iIndex); + // if (pHook) pHook->SetFixDirFlag(true); + + m_pNavigateModel.AddChildModel(_hanger_ride, false, _hh_ride, GetPlayerModel(), _cc_ride); + // if(IsShapeModelChanged()) + // m_pNavigateModel.AddChildModel(_hanger_ride, false, _hh_ride, GetPlayerModel(), "HH_feijian"); + // else + // m_pNavigateModel.AddChildModel(_hanger_ride, false, _hh_ride, GetMajorModel(), _cc_ride); + + //m_pNavigateModel->GetA3DSkinModel()->Update(0); + + // PlayAction(GetMoveStandAction(false, IsFighting()), 1.0f, true); + PlayNavigateAction(); + m_bNavigateModelApplied = true; + + OnNavigateEvent(0, (int)CECNavigateCtrl.NavigateEvent.EM_BEGIN); + return true; + } + } +}