diff --git a/Assets/ModelRenderer/Art/Models/models/players/形象/武侠男/躯干/武侠男.prefab b/Assets/ModelRenderer/Art/Models/models/players/形象/武侠男/躯干/武侠男.prefab index 9990cc4a00..a9566c01ee 100644 --- a/Assets/ModelRenderer/Art/Models/models/players/形象/武侠男/躯干/武侠男.prefab +++ b/Assets/ModelRenderer/Art/Models/models/players/形象/武侠男/躯干/武侠男.prefab @@ -1650,6 +1650,7 @@ GameObject: m_Component: - component: {fileID: 3698356007416754653} - component: {fileID: 6067755730919934559} + - component: {fileID: 3868169875372232445} m_Layer: 0 m_Name: "\u6B66\u4FA0\u7537" m_TagString: Untagged @@ -1689,6 +1690,22 @@ Animation: m_AnimatePhysics: 0 m_UpdateMode: 0 m_CullingType: 0 +--- !u!114 &3868169875372232445 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132400081078426141} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1863d89e9a45e43febda13d0579ec149, type: 3} + m_Name: + m_EditorClassIdentifier: + DefaultUpper: {fileID: 8430371236677961775} + DefaultLower: {fileID: 6678266945479460665} + DefaultWirst: {fileID: 9001778602091940592} + DefaultFoot: {fileID: 6501297086449185112} --- !u!1 &2170371384673563007 GameObject: m_ObjectHideFlags: 0 @@ -7765,7 +7782,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6501297086449185112} - m_Mesh: {fileID: 4300000, guid: 945e884eb4e674b8e82612a8a0d8def1, type: 2} + m_Mesh: {fileID: 4300000, guid: 830fb1ca82e68b446a18f9bba585aaff, type: 2} --- !u!137 &4853797815422182967 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -7789,7 +7806,7 @@ SkinnedMeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: b192c7dbc771d45448c834b4b19ee0ec, type: 2} + - {fileID: 2100000, guid: d452b4350e3f0bc42b897ce43cd195e9, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -7814,7 +7831,7 @@ SkinnedMeshRenderer: m_Quality: 0 m_UpdateWhenOffscreen: 0 m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300000, guid: 945e884eb4e674b8e82612a8a0d8def1, type: 2} + m_Mesh: {fileID: 4300000, guid: 830fb1ca82e68b446a18f9bba585aaff, type: 2} m_Bones: - {fileID: 420018222253717266} - {fileID: 6323388249193786065} @@ -8084,7 +8101,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6678266945479460665} - m_Mesh: {fileID: 4300000, guid: 3854f4881f8494ab593fcc78341863f9, type: 2} + m_Mesh: {fileID: 4300000, guid: 0a925a00d466f9144883c16480382261, type: 2} --- !u!137 &5798515900539372327 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -8108,7 +8125,7 @@ SkinnedMeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 8a14fd68048d746618454c38ab860e83, type: 2} + - {fileID: 2100000, guid: cd397b72ff7ec2346bada1faea11369c, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -8133,7 +8150,7 @@ SkinnedMeshRenderer: m_Quality: 0 m_UpdateWhenOffscreen: 0 m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300000, guid: 3854f4881f8494ab593fcc78341863f9, type: 2} + m_Mesh: {fileID: 4300000, guid: 0a925a00d466f9144883c16480382261, type: 2} m_Bones: - {fileID: 420018222253717266} - {fileID: 6323388249193786065} @@ -10053,7 +10070,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8430371236677961775} - m_Mesh: {fileID: 4300000, guid: e8ab6aad2d46a4a33a67cbd498f91cd2, type: 2} + m_Mesh: {fileID: 4300000, guid: 17b5241013460ec4d894c0698279b161, type: 2} --- !u!137 &7115614618712792175 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -10077,7 +10094,7 @@ SkinnedMeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 1ed3803c8b8834e78bf4ce0237739120, type: 2} + - {fileID: 2100000, guid: 85bd2bceb7c666341880474e43db8d5b, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -10102,7 +10119,7 @@ SkinnedMeshRenderer: m_Quality: 0 m_UpdateWhenOffscreen: 0 m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300000, guid: e8ab6aad2d46a4a33a67cbd498f91cd2, type: 2} + m_Mesh: {fileID: 4300000, guid: 17b5241013460ec4d894c0698279b161, type: 2} m_Bones: - {fileID: 420018222253717266} - {fileID: 6323388249193786065} @@ -10697,7 +10714,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9001778602091940592} - m_Mesh: {fileID: 4300000, guid: 113bc85d93d8f402c8b99da2f35a11b5, type: 2} + m_Mesh: {fileID: 4300000, guid: dd7f01cc9e10db248893d28bd2abb7e3, type: 2} --- !u!137 &8633905170266012228 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -10721,7 +10738,7 @@ SkinnedMeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 8b5c7dfbac0134930a6436538a6b5f86, type: 2} + - {fileID: 2100000, guid: 4acebea1068de5840a7e0a5556d154a5, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -10746,7 +10763,7 @@ SkinnedMeshRenderer: m_Quality: 0 m_UpdateWhenOffscreen: 0 m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300000, guid: 113bc85d93d8f402c8b99da2f35a11b5, type: 2} + m_Mesh: {fileID: 4300000, guid: dd7f01cc9e10db248893d28bd2abb7e3, type: 2} m_Bones: - {fileID: 420018222253717266} - {fileID: 6323388249193786065} diff --git a/Assets/ModelRenderer/Art/Models/models/players/形象/法师女/躯干/N04-JSAK_edit 2.exr b/Assets/ModelRenderer/Art/Models/models/players/形象/法师女/躯干/N04-JSAK_edit 2.exr deleted file mode 100644 index 79f15e49ea..0000000000 Binary files a/Assets/ModelRenderer/Art/Models/models/players/形象/法师女/躯干/N04-JSAK_edit 2.exr and /dev/null differ diff --git a/Assets/ModelRenderer/Art/Models/models/players/形象/法师女/躯干/N04-JSAK_edit 2.exr.meta b/Assets/ModelRenderer/Art/Models/models/players/形象/法师女/躯干/N04-JSAK_edit 2.exr.meta deleted file mode 100644 index e719dbc029..0000000000 --- a/Assets/ModelRenderer/Art/Models/models/players/形象/法师女/躯干/N04-JSAK_edit 2.exr.meta +++ /dev/null @@ -1,143 +0,0 @@ -fileFormatVersion: 2 -guid: 80241b0e5ab92c14ab291155c50abc96 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 13 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 4 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: iOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - customData: - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spriteCustomMetadata: - entries: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_0_skin.mat b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_0_skin.mat index b3e8c44485..26bab1a0ac 100644 --- a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_0_skin.mat +++ b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_0_skin.mat @@ -63,7 +63,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: b2b9661888c43c34bbd96954aa4c8fee, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_1_skin.mat b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_1_skin.mat index 53593f3b82..2fb01f2ad7 100644 --- a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_1_skin.mat +++ b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认上衣/武侠女默认上衣一级/武侠女默认上衣一级_1_skin.mat @@ -63,7 +63,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: b2b9661888c43c34bbd96954aa4c8fee, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认护腕/武侠女默认护腕一级/武侠女默认护腕一级_0_skin.mat b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认护腕/武侠女默认护腕一级/武侠女默认护腕一级_0_skin.mat index c0179cbc78..a919995f5a 100644 --- a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认护腕/武侠女默认护腕一级/武侠女默认护腕一级_0_skin.mat +++ b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认护腕/武侠女默认护腕一级/武侠女默认护腕一级_0_skin.mat @@ -50,7 +50,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: b02ac52609e429b4c90e9d53574cedc3, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_0_skin.mat b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_0_skin.mat index 18869ecce8..7848db773f 100644 --- a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_0_skin.mat +++ b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_0_skin.mat @@ -63,7 +63,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: 080fbb07d32e9ee488b2e81f051efcae, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_1_skin.mat b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_1_skin.mat index ba89c1a8e8..bebfdead11 100644 --- a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_1_skin.mat +++ b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认裤子/武侠女默认裤子一级/武侠女默认裤子一级_1_skin.mat @@ -50,7 +50,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: 8cb741a34a51f3b469007a5e2950b1c0, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认靴子/武侠女默认靴子一级/武侠女默认靴子一级_0_skin.mat b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认靴子/武侠女默认靴子一级/武侠女默认靴子一级_0_skin.mat index 7a0f4f70ad..5181fb7b38 100644 --- a/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认靴子/武侠女默认靴子一级/武侠女默认靴子一级_0_skin.mat +++ b/Assets/ModelRenderer/Art/Models/models/players/装备/女/默认靴子/武侠女默认靴子一级/武侠女默认靴子一级_0_skin.mat @@ -50,7 +50,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: 13c7be92bd4cb6142b6b1c78475d7123, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index d360988e14..f1a892c95f 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -35,6 +35,8 @@ public abstract partial class CECPlayer : CECObject [SerializeField] internal int m_idCurHover; // ID of object under cursor protected int m_iShape; // Ñ¡ÖÐÄ¿±êµÄID protected uint m_dwStates; // Player's basic states + + // 当前攻击方式 // Action type for attack animation protected uint m_uAttackType; protected int[] m_aEquips; protected ROLEEXTPROP m_ExtProps; // Extend properties @@ -199,7 +201,7 @@ public abstract partial class CECPlayer : CECObject public static async Task LoadPlayerSkin(GameObject aSkins, int index, string szFile) { // these are LOD suffix - string[] suffix1 = {"一级", "二级", "三级"}; + string[] suffix1 = {"一?", "二级", "三级"}; string[] suffix2 = {"", "二级", "三级"}; string szSkinFile = ""; @@ -366,72 +368,72 @@ public abstract partial class CECPlayer : CECObject { // 0 ACT_STAND = 0, // Đứng - ACT_FIGHTSTAND, // Đứng chiến đấu - ACT_WALK, // Đi bộ - ACT_RUN, // Chạy - ACT_JUMP_START, // Bắt đầu nhảy + ACT_FIGHTSTAND, // Đứng chiến đ?u + ACT_WALK, // Đi b? + ACT_RUN, // Ch?y + ACT_JUMP_START, // Bắt đ?u nh?y // 5 - ACT_JUMP_LOOP, // Nhảy trên không lặp lại - ACT_JUMP_LAND, // Nhảy tiếp đất + ACT_JUMP_LOOP, // Nh?y trên không lặp l?i + ACT_JUMP_LAND, // Nh?y tiếp đ?t ACT_SWIM, // Bơi ACT_HANGINWATER, // Lơ lửng trong nước - ACT_TAKEOFF, // Cất cánh (should be ACT_TAKEOFF_WING) + ACT_TAKEOFF, // C?t cánh (should be ACT_TAKEOFF_WING) // 10 ACT_HANGINAIR, // Treo trên không (should be ACT_HANGINAIR_WING) ACT_FLY, // Bay (should be ACT_FLY_WING) ACT_FLYDOWN, // Bay xuống cao (should be ACT_FLYDOWN_WING_HIGH) - ACT_FLYDOWN_WING_LOW, // Bay xuống thấp (should be ACT_FLYDOWN_WING_LOW) - ACT_LANDON, // Hạ cánh (should be ACT_LAND_WING) + ACT_FLYDOWN_WING_LOW, // Bay xuống th?p (should be ACT_FLYDOWN_WING_LOW) + ACT_LANDON, // H? cánh (should be ACT_LAND_WING) // 15 - ACT_TAKEOFF_SWORD, // Kiếm bay - cất cánh + ACT_TAKEOFF_SWORD, // Kiếm bay - c?t cánh ACT_HANGINAIR_SWORD, // Kiếm bay - treo không trung ACT_FLY_SWORD, // Kiếm bay - tiến tới ACT_FLYDOWN_SWORD_HIGH, // Kiếm bay - rơi cao - ACT_FLYDOWN_SWORD_LOW, // Kiếm bay - rơi thấp + ACT_FLYDOWN_SWORD_LOW, // Kiếm bay - rơi th?p // 20 - ACT_LANDON_SWORD, // Kiếm bay - hạ cánh + ACT_LANDON_SWORD, // Kiếm bay - h? cánh ACT_SITDOWN, // Ngồi - ACT_SITDOWN_LOOP, // Ngồi lặp lại + ACT_SITDOWN_LOOP, // Ngồi lặp l?i ACT_STANDUP, // Đứng dậy - ACT_WOUNDED, // Bị thương + ACT_WOUNDED, // B? thương // 25 - ACT_GROUNDDIE, // Chết trên mặt đất - ACT_GROUNDDIE_LOOP, // Chết trên đất (loop) + ACT_GROUNDDIE, // Chết trên mặt đ?t + ACT_GROUNDDIE_LOOP, // Chết trên đ?t (loop) ACT_WATERDIE, // Chết trong nước ACT_WATERDIE_LOOP, // Chết trong nước (loop) - ACT_AIRDIE_ST, // Chết trên không (bắt đầu) + ACT_AIRDIE_ST, // Chết trên không (bắt đ?u) // 30 ACT_AIRDIE, // Chết trên không (loop rơi) - ACT_AIRDIE_ED, // Chết trên không (chạm đất) - ACT_AIRDIE_LAND_LOOP, // Chết rơi đất (loop) + ACT_AIRDIE_ED, // Chết trên không (ch?m đ?t) + ACT_AIRDIE_LAND_LOOP, // Chết rơi đ?t (loop) ACT_REVIVE, // Hồi sinh ACT_CUSTOMIZE, // Động tác tùy chỉnh // 35 - ACT_STRIKEBACK, // Bị đánh lùi - ACT_STRIKEDOWN, // Bị đánh ngã - ACT_STRIKEDOWN_LOOP, // Bị đánh ngã (loop) - ACT_STRIKEDOWN_STANDUP, // Bị đánh ngã rồi đứng dậy - ACT_PICKUP, // Nhặt đồ + ACT_STRIKEBACK, // B? đánh lùi + ACT_STRIKEDOWN, // B? đánh ngã + ACT_STRIKEDOWN_LOOP, // B? đánh ngã (loop) + ACT_STRIKEDOWN_STANDUP, // B? đánh ngã rồi đứng dậy + ACT_PICKUP, // Nhặt đ? // 40 - ACT_PICKUP_LOOP, // Nhặt đồ (loop) - ACT_PICKUP_STANDUP, // Nhặt đồ đứng dậy - ACT_PICKUP_MATTER, // Nhặt vật thể + ACT_PICKUP_LOOP, // Nhặt đ? (loop) + ACT_PICKUP_STANDUP, // Nhặt đ? đứng dậy + ACT_PICKUP_MATTER, // Nhặt vật th? ACT_GAPE, // Há miệng ACT_LOOKAROUND, // Nhìn quanh // 45 ACT_PLAYWEAPON, // Vung vũ khí ACT_EXP_WAVE, // Vẫy tay - ACT_EXP_NOD, // Gật đầu - ACT_EXP_SHAKEHEAD, // Lắc đầu + ACT_EXP_NOD, // Gật đ?u + ACT_EXP_SHAKEHEAD, // Lắc đ?u ACT_EXP_SHRUG, // Nhún vai // 50 @@ -442,14 +444,14 @@ public abstract partial class CECPlayer : CECObject ACT_EXP_KISSHAND, // Hôn tay // 55 - ACT_EXP_SHY, // Ngại ngùng + ACT_EXP_SHY, // Ng?i ngùng ACT_EXP_SALUTE, // Chào ACT_EXP_SITDOWN, // Ngồi xuống ACT_EXP_SITDOWN_LOOP, // Ngồi xuống (loop) ACT_EXP_SITDOWN_STANDUP, // Ngồi xuống rồi đứng dậy // 60 - ACT_EXP_ASSAULT, // Tấn công + ACT_EXP_ASSAULT, // T?n công ACT_EXP_THINK, // Suy nghĩ ACT_EXP_DEFIANCE, // Thách thức ACT_EXP_VICTORY, // Chiến thắng @@ -458,44 +460,44 @@ public abstract partial class CECPlayer : CECObject // 65 ACT_EXP_KISS_LOOP, // Hôn (loop) ACT_EXP_KISS_END, // Kết thúc hôn - ACT_ATTACK_1, // Tấn công 1 - ACT_ATTACK_2, // Tấn công 2 - ACT_ATTACK_3, // Tấn công 3 + ACT_ATTACK_1, // T?n công 1 + ACT_ATTACK_2, // T?n công 2 + ACT_ATTACK_3, // T?n công 3 // 70 - ACT_ATTACK_4, // Tấn công 4 + ACT_ATTACK_4, // T?n công 4 ACT_ATTACK_TOSS, // Ném vũ khí - ACT_TRICK_RUN, // Chiêu khi chạy - ACT_TRICK_JUMP, // Chiêu khi nhảy - ACT_FLY_GLIDE, // Lượn + ACT_TRICK_RUN, // Chiêu khi ch?y + ACT_TRICK_JUMP, // Chiêu khi nh?y + ACT_FLY_GLIDE, // Lư?n // 75 - ACT_FLY_GLIDE_SWORD, // Kiếm bay - lượn - ACT_EXP_FIGHT, // Tư thế chiến đấu - ACT_EXP_ATTACK1, // Tấn công diễn xuất 1 - ACT_EXP_ATTACK2, // Tấn công diễn xuất 2 - ACT_EXP_ATTACK3, // Tấn công diễn xuất 3 + ACT_FLY_GLIDE_SWORD, // Kiếm bay - lư?n + ACT_EXP_FIGHT, // Tư th? chiến đ?u + ACT_EXP_ATTACK1, // T?n công diễn xu?t 1 + ACT_EXP_ATTACK2, // T?n công diễn xu?t 2 + ACT_EXP_ATTACK3, // T?n công diễn xu?t 3 // 80 - ACT_EXP_ATTACK4, // Tấn công diễn xuất 4 - ACT_EXP_DEFENCE, // Phòng thủ + ACT_EXP_ATTACK4, // T?n công diễn xu?t 4 + ACT_EXP_DEFENCE, // Phòng th? ACT_EXP_FALL, // Té ngã - ACT_EXP_FALLONGROUND, // Ngã xuống đất + ACT_EXP_FALLONGROUND, // Ngã xuống đ?t ACT_EXP_LOOKAROUND, // Nhìn quanh // 85 - ACT_EXP_DANCE, // Nhảy múa + ACT_EXP_DANCE, // Nh?y múa ACT_EXP_FASHIONWEAPON, // Động tác vũ khí thời trang ACT_USEITEM, // Dùng item ACT_USEITMELOOP, // Dùng item (loop) ACT_TWO_KISS, // Hôn đôi // 90 - ACT_USING_TARGET_ITEM, // Dùng đạo cụ + ACT_USING_TARGET_ITEM, // Dùng đ?o c? ACT_SWIM_FOR_MOVESKILL, // Bơi trong lúc dùng skill di chuyển ACT_MAX, - ACT_CASTSKILL // Chỉ là placeholder cho skill actions + ACT_CASTSKILL // Ch? là placeholder cho skill actions } public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, @@ -655,7 +657,7 @@ public abstract partial class CECPlayer : CECObject if (GetMoveEnv() == (int)MoveEnvironment.MOVEENV_GROUND) { - // “起” 动作(挥起) + // “起? 动作(挥起) szAct = EC_Utility.BuildActionName(action, weapon_type, "Æð"); EventBus.PublishChannel(m_PlayerInfo.cid, new PlayActionEvent(szAct)); szAct = EC_Utility.BuildActionName(action, weapon_type, "Âä"); @@ -668,7 +670,7 @@ public abstract partial class CECPlayer : CECObject nTime1 = _pPlayerModel.GetComActTimeSpanByName(szAct); - // “收” 动作(挥下) + // “收? 动作(挥下) szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; QueueNonSkillActionWithName(iAction, szAct, 0, false, bHideFX); @@ -690,7 +692,7 @@ public abstract partial class CECPlayer : CECObject GetProfession() == PROF_MONK || GetProfession() == PROF_GHOST) { - szActionMiddleName = "¿ÕÖгá°ò"; // tấn công trên không + szActionMiddleName = "¿ÕÖгá°ò"; // t?n công trên không } else { @@ -728,7 +730,7 @@ public abstract partial class CECPlayer : CECObject pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 300, iAction, false, false, bHideFX, true);*/ // ============================== - // Điều chỉnh tốc độ phát animation theo tốc độ tấn công + // Điều chỉnh tốc đ? phát animation theo tốc đ? t?n công // ============================== /* if (nAttackSpeed > 0) { @@ -745,7 +747,7 @@ public abstract partial class CECPlayer : CECObject attackTime = nTime1 + nTime2;*/ // ============================== - // Cập nhật vị trí weapon hanger (vũ khí) + // Cập nhật v? trí weapon hanger (vũ khí) // ============================== //UpdateWeaponHangerPosByAction(iAction); @@ -955,10 +957,10 @@ public abstract partial class CECPlayer : CECObject int turnSpeed = 5; if (direction.sqrMagnitude > 0.001f) { - // Tạo rotation mới hướng tới target + // T?o rotation mới hướng tới target Quaternion targetRotation = Quaternion.LookRotation(direction, Vector3.up); - // Xoay mượt từ rotation hiện tại sang rotation mục tiêu + // Xoay mư?t t? rotation hiện t?i sang rotation m?c tiêu //transform.rotation = Quaternion.Slerp( // transform.rotation, // targetRotation, diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs index 78946e471a..7fd23c980b 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs @@ -774,7 +774,7 @@ namespace CSNetwork.S2CCommand TEAM_MEMBER_DATA, TEAM_MEMBER_POS, // 65 - EQUIP_DATA, // �û���װ�����ݣ�Ӱ����� + EQUIP_DATA, // �û���װ�����ݣ�Ӱ����? EQUIP_DATA_CHANGED, EQUIP_DAMAGED, // װ���� TEAM_MEMBER_PICKUP, // ���Ѽ���װ�� @@ -1091,8 +1091,8 @@ namespace CSNetwork.S2CCommand PRODUCE4_ITEM_INFO, ONLINE_AWARD_DATA, //���߽��� - TOGGLE_ONLINE_AWARD, // 330 ����л������߽����Ŀ���״̬ - PLAYER_PROFIT_TIME, // �������ʱ�� + TOGGLE_ONLINE_AWARD, // 330 ����л������߽����Ŀ���״? + PLAYER_PROFIT_TIME, // �������ʱ�? ENTER_NONPENALTY_PVP_STATE, // PK�޳ͷ� SELF_COUNTRY_NOTIFY, PLAYER_COUNTRY_CHANGED, @@ -1119,12 +1119,12 @@ namespace CSNetwork.S2CCommand PET_REBUILD_NATURE_START, PET_REBUILD_NATURE_INFO, PET_REBUILD_NATURE_END, - EQUIP_ADDON_UPDATE_NOTIFY, //354 ֪ͨװ����ʯ��� + EQUIP_ADDON_UPDATE_NOTIFY, //354 ֪ͨװ����ʯ��? SELF_KING_NOTIFY, // 355 PLAYER_KING_CHANGED, - MERIDIANS_NOTIFY, // ������Ϣ��� - MERIDIANS_RESULT, // ������Ѩ��� + MERIDIANS_NOTIFY, // ������Ϣ��? + MERIDIANS_RESULT, // ������Ѩ��? COUNTRYBATTLE_STRONGHOND_STATE_NOTIFY, QUERY_TOUCH_POINT, // 360 @@ -1136,32 +1136,32 @@ namespace CSNetwork.S2CCommand MODIFY_TITLE_NOFIFY, // 365 REFRESH_SIGNIN, // ǩ��״̬ PARALLEL_WORLD_INFO, - PLAYER_REINCARNATION, // ���ת�� + PLAYER_REINCARNATION, // ���?�� REINCARNATION_TOME_INFO, // ת��������Ϣ ACTIVATE_REINCARNATION_TOME, // 370 ת�������Ƿ񼤻� UNIQUE_DATA_NOTIFY, // ��ʷ�ƽ� ��ȫ������ USE_GIFTCARD_RESULT, REALM_EXP, // ���羭�� - REALM_LEVEL, // ����ȼ� + REALM_LEVEL, // ����ȼ? ENTER_TRICKBATTLE, // 375 ����ս�� ���庬��ͬ��ս����ս�� TRICKBATTLE_PERSONAL_SCORE, // ս���Լ��÷� TRICKBATTLE_CHARIOT_INFO, // ս����Ϣ - PLAYER_LEADERSHIP, // ���ͳ���� + PLAYER_LEADERSHIP, // ���ͳ���? GENERALCARD_COLLECTION_DATA, // �佫��ͼ������ ADD_GENERALCARD_COLLECTION, // 380 �ղؿ��� REFRESH_MONSTERSPIRIT_LEVEL, // ���� - MINE_GATHERED, // ����ɹ��ɼ��㲥 - PLAYER_IN_OUT_BATTLE, // ������ҽ���/����ս��״̬ + MINE_GATHERED, // ����ɹ��ɼ��? + PLAYER_IN_OUT_BATTLE, // ������ҽ��?/����ս��״̬ PLAYER_QUERY_CHARIOTS, // ս��������ѯ COUNTRYBATTLE_LIVE_SHOW_RESULT, // 385 ��սս��rank���������� - RANDOM_MALL_SHOPPING_RES, // ����̳Dz�ѯ���� + RANDOM_MALL_SHOPPING_RES, // ����̳Dz�?���� FACTION_PVP_MASK_MODIFY, // ����PVP״̬�ı� PLAYER_WORLD_CONTRIBUTION, // ���繱�׶� - RANDOM_MAP_ORDER, // �����ͼ + RANDOM_MAP_ORDER, // �����? SCENE_SERVICE_NPC_LIST, // 390��ǰ������ѧϰ���ܵ�NPC�б� NPC_VISIBLE_TID_NOTIFY, // �㲥֪ͨ��Ұ��npc�任����ģ�� @@ -1170,7 +1170,7 @@ namespace CSNetwork.S2CCommand COMBO_SKILL_PREPARE, INSTANCE_REENTER_NOTIFY, // 395 ��������֪ͨ - PRAY_DISTANCE_CHANGE, // ����������� + PRAY_DISTANCE_CHANGE, // ����������? }; public struct CMD_GetAllData @@ -1359,12 +1359,6 @@ namespace CSNetwork.S2CCommand { public int id; }; - - public struct cmd_sevnpc_serve - { - public int service_type; - public uint len; - }; } // Player and NPC state \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs index 73ed6d6069..e7436d4524 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs @@ -545,7 +545,7 @@ namespace CSNetwork.C2SCommand var cmd = new cmd_sevnpc_serve { service_type = serviceType, - len = len + len = (int)len }; return SerializeCommand(CommandID.SEVNPC_SERVE, cmd); } diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta b/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta new file mode 100644 index 0000000000..333a9b1482 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d0c06c588e2a6442488a3542551fb243 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Players/PlayerDefaultEquipments.cs b/Assets/PerfectWorld/Scripts/Players/PlayerDefaultEquipments.cs new file mode 100644 index 0000000000..545d709d76 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Players/PlayerDefaultEquipments.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace BrewMonster.Scripts +{ + // this script holds reference to the default equipments for the player model + public class PlayerDefaultEquipments : MonoBehaviour + { + public GameObject DefaultUpper; + public GameObject DefaultLower; + public GameObject DefaultWirst; + public GameObject DefaultFoot; + } +} diff --git a/Assets/PerfectWorld/Scripts/Players/PlayerDefaultEquipments.cs.meta b/Assets/PerfectWorld/Scripts/Players/PlayerDefaultEquipments.cs.meta new file mode 100644 index 0000000000..9a91b52603 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Players/PlayerDefaultEquipments.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1863d89e9a45e43febda13d0579ec149 \ No newline at end of file diff --git a/Assets/Scripts/CECHostPlayer_Inventory.cs b/Assets/Scripts/CECHostPlayer_Inventory.cs index 05a0ee5bf8..77b60610c6 100644 --- a/Assets/Scripts/CECHostPlayer_Inventory.cs +++ b/Assets/Scripts/CECHostPlayer_Inventory.cs @@ -6,7 +6,7 @@ using BrewMonster.Scripts.Managers; using ModelRenderer.Scripts.GameData; using UnityEngine; -public partial class CECHostPlayer +public partial class CECPlayer { public const int NUM_PROFESSION = (int)Profession.NUM_PROFESSION; public const int NUM_GENDER = (int)Gender.NUM_GENDER; @@ -46,31 +46,31 @@ public partial class CECHostPlayer public static readonly string[] _equipment_skin = { - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", "", - "models/players/装备/女/{0}/妖精{1}", - "models/players/装备/男/{0}/妖兽{1}", + "models/players/装??/?/{0}/妖精{1}", + "models/players/装??/?/{0}/妖兽{1}", "", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", - "models/players/装备/男/{0}/男通用{1}", - "models/players/装备/女/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", + "models/players/装??/?/{0}/男通用{1}", + "models/players/装??/?/{0}/女通用{1}", }; @@ -95,15 +95,37 @@ public partial class CECHostPlayer { WINGTYPE_WING, // 锟斤拷锟斤拷锟斤拷锟斤拷锟酵o拷锟斤拷锟?????? WINGTYPE_FLYSWORD, // 锟斤拷锟斤拷锟斤拷锟斤拷锟酵o拷锟缴斤拷 - WINGTYPE_DOUBLEWHEEL, // 锟斤拷锟斤拷锟斤拷锟斤拷锟酵o拷双锟脚凤拷锟斤拷锟斤拷 + WINGTYPE_DOUBLEWHEEL, // 锟斤拷锟斤拷锟斤拷锟斤拷锟酵o拷双锟脚凤拷锟斤拷锟斤? } - public int[] m_aEquips = new int[InventoryConst.IVTRSIZE_EQUIPPACK]; - - // 当前攻击方式 // Action type for attack animation - public uint m_uAttackType; + private static readonly SkinIndex[] _location_skin_map = + { + SkinIndex.SKIN_BODY_INDEX, + SkinIndex.SKIN_UPPER_BODY_INDEX, + SkinIndex.SKIN_WRIST_INDEX, + SkinIndex.SKIN_LOWER_INDEX, + SkinIndex.SKIN_FOOT_INDEX, + SkinIndex.SKIN_UPPER_BODY_INDEX, + SkinIndex.SKIN_UPPER_BODY_INDEX, + SkinIndex.SKIN_LOWER_INDEX, + SkinIndex.SKIN_UPPER_BODY_INDEX + }; + // The skeleton builder holds the reference to the player's bones + // We use this to setup the bones for the equipment skinned mesh renderers private SkeletonBuilder _skeletonBuilder; + private PlayerDefaultEquipments _playerDefaultEquipments; + private PlayerDefaultEquipments PlayerDefaultEquipments + { + get + { + if (_playerDefaultEquipments == null) + { + _playerDefaultEquipments = GetComponent(); + } + return _playerDefaultEquipments; + } + } public bool UpdateEquipSkins() { @@ -131,8 +153,44 @@ public partial class CECHostPlayer DATA_TYPE DataType = default; for (int i = 0; i < InventoryConst.IVTRSIZE_EQUIPPACK; i++) { + //TODO: The equipment ids store the stone information, we need to extract the stone information from the equipment id. + /* + int idEquipment = pEquipmentID[i]; + if((i >= EQUIPIVTR_FASHION_BODY && i <= EQUIPIVTR_FASHION_WRIST ) || + i == EQUIPIVTR_FASHION_HEAD || i == EQUIPIVTR_FASHION_WEAPON) + { + WORD wColor = (idEquipment & 0xffff0000) >> 16; + idEquipment &= 0x0000ffff; + color = FASHION_WORDCOLOR_TO_A3DCOLOR(wColor); + } + else + { + if( i == EQUIPIVTR_WEAPON ) + { + pResult->stoneWeapon = (idEquipment & 0xffff0000) >> 16; + } + if( i == EQUIPIVTR_BODY ) + { + pResult->stoneUpperBody = (idEquipment & 0xffff0000) >> 16; + } + if( i == EQUIPIVTR_WRIST ) + { + pResult->stoneWrist = (idEquipment & 0xffff0000) >> 16; + } + if( i == EQUIPIVTR_LEG ) + { + pResult->stoneLowerBody = (idEquipment & 0xffff0000) >> 16; + } + if( i == EQUIPIVTR_FOOT ) + { + pResult->stoneFoot = (idEquipment & 0xffff0000) >> 16; + } + idEquipment &= 0x0000ffff; + } + */ if (pEquipmentID[i] != m_aEquips[i]) { + m_aEquips[i] = pEquipmentID[i]; // store the current equipment id // new equipment. Need to load and equip to host player var equipData = elemendataman.get_data_ptr((uint)pEquipmentID[i], ID_SPACE.ID_SPACE_ESSENCE, ref DataType); object subTypeData = null; @@ -148,7 +206,7 @@ public partial class CECHostPlayer } string fileModelRight = AFile.NormalizePath(weaponData.FileModelRight).ToLower(); string fileModelLeft = AFile.NormalizePath(weaponData.FileModelLeft).ToLower(); - BMLogger.Log($"ShowEquipments():: Weapon Essence: {fileModelRight} -- {fileModelLeft}"); + // BMLogger.Log($"ShowEquipments():: Weapon Essence: {fileModelRight} -- {fileModelLeft}"); GameObject weaponPrefab = null; if (!string.IsNullOrEmpty(fileModelRight)) { @@ -179,10 +237,12 @@ public partial class CECHostPlayer } break; case DATA_TYPE.DT_ARMOR_ESSENCE: - var armorData = (ARMOR_ESSENCE)equipData; - BMLogger.Log($"ShowEquipments():: Armor Essence: {armorData.RealName}"); + var pArmor = (ARMOR_ESSENCE)equipData; + var nLocation = pArmor.equip_location; + bool useDefaultArmor = true; + // BMLogger.Log($"ShowEquipments():: Armor Essence: {pArmor.RealName}"); - var armorSkinPath = _GenEquipmentSkinPath(UnityGameSession.Instance.GetRoleInfo().occupation, UnityGameSession.Instance.GetRoleInfo().gender, armorData.RealName); + var armorSkinPath = _GenEquipmentSkinPath(UnityGameSession.Instance.GetRoleInfo().occupation, UnityGameSession.Instance.GetRoleInfo().gender, pArmor.RealName); if (!armorSkinPath.EndsWith(".ecm")) { armorSkinPath += ".ecm"; @@ -206,6 +266,25 @@ public partial class CECHostPlayer skinnedMeshRenderereFromData._skinnedMeshRenderer.rootBone = skinnedMeshRenderereFromData._skinnedMeshRenderer.bones[^1]; } } + + useDefaultArmor = false; + } + + // disable/enable the default equipment + switch (nLocation) + { + case (uint)SkinIndex.SKIN_UPPER_BODY_INDEX: + PlayerDefaultEquipments.DefaultUpper.SetActive(useDefaultArmor); + break; + case (uint)SkinIndex.SKIN_LOWER_INDEX: + PlayerDefaultEquipments.DefaultLower.SetActive(useDefaultArmor); + break; + case (uint)SkinIndex.SKIN_WRIST_INDEX: + PlayerDefaultEquipments.DefaultWirst.SetActive(useDefaultArmor); + break; + case (uint)SkinIndex.SKIN_FOOT_INDEX: + PlayerDefaultEquipments.DefaultFoot.SetActive(useDefaultArmor); + break; } break; default: