diff --git a/Assets/AddressableAssetsData/AssetGroups/models.asset b/Assets/AddressableAssetsData/AssetGroups/models.asset index 90cb01caf4..0916183d61 100644 --- a/Assets/AddressableAssetsData/AssetGroups/models.asset +++ b/Assets/AddressableAssetsData/AssetGroups/models.asset @@ -1699,6 +1699,12 @@ MonoBehaviour: - equipment - models FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 1442e7dcfba1366488f9abeab708864a + m_Address: "models/npcs/\u602A\u7269/32\u7269\u54C1\u5996/\u9B54\u6CD5\u5C01\u5370\u7684\u5B9D\u7BB1/\u9B54\u6CD5\u5C01\u5370\u7684\u5B9D\u7BB1\u5C0F.ecm" + m_ReadOnly: 0 + m_SerializedLabels: + - models + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 14581b8af110f2547a48143cb80e5798 m_Address: "models/players/\u88C5\u5907/\u5973/13b\u6B66\u4FA0\u804C\u4E1A\u88C5\u4E0A\u8863/\u5973\u901A\u752813b\u6B66\u4FA0\u804C\u4E1A\u88C5\u4E0A\u8863.ecm" m_ReadOnly: 0 diff --git a/Assets/PerfectWorld/Scripts/Task/Doc/Doc.meta b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖.meta similarity index 77% rename from Assets/PerfectWorld/Scripts/Task/Doc/Doc.meta rename to Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖.meta index 8783d50cdd..b5298be289 100644 --- a/Assets/PerfectWorld/Scripts/Task/Doc/Doc.meta +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7c4d0bbc7b1d74528bf58ca8c5e1de34 +guid: e91d249ceb608ee4bb7b880be5e7a448 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱.meta b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱.meta new file mode 100644 index 0000000000..1ead6ef743 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4bd1ac89ebb2164ab48076ee3cbb56b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱.meta b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱.meta new file mode 100644 index 0000000000..c9f6be6fbe --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 390d29f03a8935448bef8884b836b7d3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mat b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mat new file mode 100644 index 0000000000..d0e4cb77fa --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mat @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3115309107172234749 +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: 10 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Box01_0 + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHATEST_ON + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2450 + stringTagMap: + RenderType: TransparentCutout + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 914f1d1ec5673224388f8ae4eb93958a, type: 3} + 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} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 914f1d1ec5673224388f8ae4eb93958a, type: 3} + 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: 1 + - _AlphaToMask: 1 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.001 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0 + - _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} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mat.meta b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mat.meta new file mode 100644 index 0000000000..275d336650 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5722cad6c9220a248b32d02be1e7015f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mesh b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mesh new file mode 100644 index 0000000000..b9b34d3e52 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mesh @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Box01_0 + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 66 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 32 + localAABB: + m_Center: {x: 0.004867792, y: 0.29433393, z: 0.000000014901161} + m_Extent: {x: 0.4090197, y: 0.2940315, z: 0.27242136} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: + - e00: -0.016946318 + e01: 0.9998566 + e02: 0.000000029802326 + e03: -0.039453417 + e10: -0.00000008940697 + e11: -0.00000011920929 + e12: 1 + e13: 0.000000006428704 + e20: 0.9998565 + e21: 0.016946256 + e22: 0 + e23: -0.0006686648 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + - e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: + - m_Min: {x: -0.046164893, y: -0.27242136, z: -0.40475747} + m_Max: {x: 0.55567646, y: 0.27242136, z: 0.42313} + - m_Min: {x: Infinity, y: Infinity, z: Infinity} + m_Max: {x: -Infinity, y: -Infinity, z: -Infinity} + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 0200010000000000030002000600050004000400070006000a00090008000c000b000a000d000c000a000d000a0008000e000d000800110010000f000f00120011001500140013001700160015001800170015001800150013001900180013001c001b001a001a001d001c0002001f001e001e00010002001f001c001d001d001e001f00 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 32 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 1 + offset: 0 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 2 + offset: 0 + format: 0 + dimension: 4 + - stream: 2 + offset: 16 + format: 10 + dimension: 4 + m_DataSize: 2048 + _typelessdata: 00edcebe4ecbb83ecb7a8b3e22830bb47a3b0b3f8cd3563fffeccebea1b7093fe477213e02bde6b3d783443f0f11243f0ee9d33ea1b7093fed77213e3dfbdcb3d783443f0f11243f0de9d33e4ecbb83ecf7a8b3e3e4e03b4793b0b3f8cd3563f0de9d33e73949e39d17a8b3ef29643b46878b1330000803f00edcebe73949e39cb7a8b3e22b56ab4000000000000803f00edcebe4ecbb83ecb7a8b3ef29643b46878b1330000803f0de9d33e4ecbb83ecf7a8b3ec2781cb4687831340000803f00edcebe73949e39cb7a8b3e000080bff5e251329c3230b4fdeccebea1919e39cf7a8bbe000080bfb94b74a89c3230b4fdeccebe4ecbb83ed07a8bbe000080bf99531bb2aeb51db4feeccebea1b7093fed7721be000080bfed6278b3441637b4ffeccebe1e9f163f6db8a3b3000080bf5ddb1fb403f0cab3ffeccebea1b7093fe477213e000080bfc8802bb2ac1a20b400edcebe4ecbb83ecb7a8b3e000080bf00000000f0728bb4fdeccebea1919e39cf7a8bbec1781c346778b1b3000080bf10e9d33ea1919e39cb7a8bbec1781c346778b1b3000080bf10e9d33e4ecbb83ecc7a8bbec1781c346778b1b3000080bffdeccebe4ecbb83ed07a8bbec1781c346778b1b3000080bf10e9d33ea1919e39cb7a8bbe0000803f0de351329d3230340de9d33e73949e39d17a8b3e0000803fba4bf4289c3230340de9d33e4ecbb83ecf7a8b3e0000803f89531bb2b1b51d340ee9d33ea1b7093fed77213e0000803ff66278b3421637340fe9d33e1e9f163f589d82330000803f5edb1fb403f0ca330fe9d33ea1b7093fe57721be0000803fc1802bb2ad1a203410e9d33e4ecbb83ecc7a8bbe0000803f1b58c128ef728b34fdeccebe4ecbb83ed07a8bbe0ff6fe337c3b0b3f8cd356bf10e9d33e4ecbb83ecc7a8bbe0ff6fe337c3b0b3f8cd356bf0fe9d33ea1b7093fe57721be80b2de33a404313f19ef38bffeeccebea1b7093fed7721bedfe3ab33b908573f4be90abfffeccebe1e9f163f6db8a3b3d802b9b2128f7e3f5300d93d0fe9d33e1e9f163f589d823375ae7632128f7e3f5300d9bd0000013f000000000000013f0000d03d00007f3f0000d03d00007f3f000000000000fe3e00007f3f0000803b00007f3f0000803b0000433f0000fe3e0000433f0000013f0000803f00007f3f0000803f00007f3f0000463f0000633f00002a3f00003f3f0000233f00001a3f00002a3f0000013f0000463f0000013f0000203f00007f3f0000203f00007f3f0000c43e0000013f0000c43e0000013f0000803f00007f3f0000803f00007f3f0000463f0000633f00002a3f00003f3f0000233f00001a3f00002a3f0000013f0000463f0000013f0000c43e00007f3f0000c43e00007f3f0000923e0000013f0000923e0000013f0000443e00007f3f0000443e0000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000803f00000000000000000000000000000000000000000000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0.004867792, y: 0.29433393, z: 0.000000014901161} + m_Extent: {x: 0.4090197, y: 0.2940315, z: 0.27242136} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mesh.meta b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mesh.meta new file mode 100644 index 0000000000..2644c989c9 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.mesh.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58c1a2d10ae2b914a88a2281bb5bf96a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.prefab b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.prefab new file mode 100644 index 0000000000..6f15d27837 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.prefab @@ -0,0 +1,119 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6140007671914382511 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8903825486503764437} + - component: {fileID: 8750203408594128925} + - component: {fileID: 5166826509143948991} + - component: {fileID: 5459939725609795997} + m_Layer: 0 + m_Name: Box01_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8903825486503764437 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6140007671914382511} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8750203408594128925 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6140007671914382511} + m_Mesh: {fileID: 4300000, guid: 58c1a2d10ae2b914a88a2281bb5bf96a, type: 2} +--- !u!137 &5166826509143948991 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6140007671914382511} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5722cad6c9220a248b32d02be1e7015f, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 58c1a2d10ae2b914a88a2281bb5bf96a, type: 2} + m_Bones: + - {fileID: 0} + - {fileID: 0} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 0} + m_AABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_DirtyAABB: 0 +--- !u!114 &5459939725609795997 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6140007671914382511} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2189a384460241f89635c90802d6c270, type: 3} + m_Name: + m_EditorClassIdentifier: + _skeletonBuilder: {fileID: 0} + _meshFilter: {fileID: 8750203408594128925} + _skinnedMeshRenderer: {fileID: 5166826509143948991} + BoneNames: + - Bone02 diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.prefab.meta b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.prefab.meta new file mode 100644 index 0000000000..1cf58a4f14 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱/Box01_0.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3ea4854beb922e24fb53875ae9bb6740 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱小.prefab b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱小.prefab new file mode 100644 index 0000000000..f609e73e24 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱小.prefab @@ -0,0 +1,380 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2142465482498032316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9116329449756975279} + - component: {fileID: 5602719492404425111} + m_Layer: 0 + m_Name: "\u9B54\u6CD5\u5C01\u5370\u7684\u5B9D\u7BB1" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9116329449756975279 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142465482498032316} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1682221397893027975} + - {fileID: 2287142222681038928} + - {fileID: 6560746386147567036} + m_Father: {fileID: 2504815096422338851} + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!95 &5602719492404425111 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142465482498032316} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &2342673677820808233 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5751786341065879054} + m_Layer: 0 + m_Name: HH_fx01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5751786341065879054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2342673677820808233} + serializedVersion: 2 + m_LocalRotation: {x: -0.0000000305647, y: 0.70108974, z: 0.00000003005105, w: 0.7130731} + m_LocalPosition: {x: 0.27565014, y: 8.647188e-11, z: 0.003151229} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4632241631221141121} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4838574376121939473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682221397893027975} + - component: {fileID: 2675749075624738704} + - component: {fileID: 6676038990753274020} + m_Layer: 0 + m_Name: CustomMeshRender + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1682221397893027975 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4838574376121939473} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9116329449756975279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2675749075624738704 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4838574376121939473} + m_Mesh: {fileID: 0} +--- !u!137 &6676038990753274020 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4838574376121939473} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 0} + m_Bones: [] + m_BlendShapeWeights: [] + m_RootBone: {fileID: 0} + m_AABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_DirtyAABB: 0 +--- !u!1 &5034815621241663843 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2504815096422338851} + - component: {fileID: 2886303939034520672} + m_Layer: 0 + m_Name: "\u9B54\u6CD5\u5C01\u5370\u7684\u5B9D\u7BB1\u5C0F" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2504815096422338851 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5034815621241663843} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9116329449756975279} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2886303939034520672 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5034815621241663843} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 0.58143216, z: 0.54702204} + m_Center: {x: 0, y: 0.2912911, z: -0.0027312338} +--- !u!1 &8235708353750757754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2287142222681038928} + m_Layer: 0 + m_Name: 000 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2287142222681038928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8235708353750757754} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4632241631221141121} + m_Father: {fileID: 9116329449756975279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9203708403987941035 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4632241631221141121} + m_Layer: 0 + m_Name: Bone02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4632241631221141121 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9203708403987941035} + serializedVersion: 2 + m_LocalRotation: {x: 0.49574533, y: 0.50421876, z: 0.5042188, w: 0.49574536} + m_LocalPosition: {x: -0.000000018803775, y: 0.039459076, z: -0.0000000017248172} + m_LocalScale: {x: 0.99999994, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5751786341065879054} + m_Father: {fileID: 2287142222681038928} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &2349975245296796777 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 9116329449756975279} + m_Modifications: + - target: {fileID: 5166826509143948991, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_RootBone + value: + objectReference: {fileID: 2287142222681038928} + - target: {fileID: 5166826509143948991, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: 'm_Bones.Array.data[0]' + value: + objectReference: {fileID: 4632241631221141121} + - target: {fileID: 5166826509143948991, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: 'm_Bones.Array.data[1]' + value: + objectReference: {fileID: 2287142222681038928} + - target: {fileID: 6140007671914382511, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_Name + value: Box01_0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 5459939725609795997, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} +--- !u!4 &6560746386147567036 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8903825486503764437, guid: 3ea4854beb922e24fb53875ae9bb6740, type: 3} + m_PrefabInstance: {fileID: 2349975245296796777} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱小.prefab.meta b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱小.prefab.meta new file mode 100644 index 0000000000..931a318554 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/models/npcs/怪物/32物品妖/魔法封印的宝箱/魔法封印的宝箱小.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1442e7dcfba1366488f9abeab708864a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖.meta b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖.meta new file mode 100644 index 0000000000..7e84fb5860 --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 87f438b49a50c704f89eb173bedc5588 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱.meta b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱.meta new file mode 100644 index 0000000000..90ebd3a166 --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56f4c39291f183847bd5aaaf3fb10d28 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures.meta b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures.meta new file mode 100644 index 0000000000..c47657312e --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26996bc8b154b9a4db3ac53deae61246 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures/魔法封印的宝箱.png b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures/魔法封印的宝箱.png new file mode 100644 index 0000000000..bbbc9e2c35 Binary files /dev/null and b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures/魔法封印的宝箱.png differ diff --git a/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures/魔法封印的宝箱.png.meta b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures/魔法封印的宝箱.png.meta new file mode 100644 index 0000000000..cb57ed0ad5 --- /dev/null +++ b/Assets/ModelRenderer/Art/Textures/models/npcs/怪物/32物品妖/魔法封印的宝箱/textures/魔法封印的宝箱.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 914f1d1ec5673224388f8ae4eb93958a +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/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab b/Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab similarity index 99% rename from Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab rename to Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab index 9a7f272149..66ea57e014 100644 --- a/Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab +++ b/Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab @@ -6483,8 +6483,8 @@ MonoBehaviour: m_TargetGraphic: {fileID: 7392889747821849613} m_HandleRect: {fileID: 2343337405992641122} m_Direction: 2 - m_Value: 1 - m_Size: 1 + m_Value: 0 + m_Size: 0.9999435 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -7244,7 +7244,7 @@ GameObject: - component: {fileID: 5506476487848131018} - component: {fileID: 125385901698294646} m_Layer: 5 - m_Name: TaskWindow + m_Name: DlgTask m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -8731,7 +8731,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_AnchoredPosition.y - value: 336.93002 + value: 336.93 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab.meta b/Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab.meta similarity index 100% rename from Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab.meta rename to Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab.meta diff --git a/Assets/PerfectWorld/Prefab/Task/UI/EmotionWindow.prefab b/Assets/PerfectWorld/Prefab/Task/UI/EmotionWindow.prefab new file mode 100644 index 0000000000..9842b6cba5 --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/EmotionWindow.prefab @@ -0,0 +1,397 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &111271885693053298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 562642038236230410} + - component: {fileID: 3682957078725161371} + m_Layer: 5 + m_Name: EmotionWindow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &562642038236230410 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111271885693053298} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6149182975052679886} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &3682957078725161371 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111271885693053298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e42ed2cbf208e60488b8bc1d63a3b1d7, type: 3} + m_Name: + m_EditorClassIdentifier: + slot: 0 +--- !u!1 &2171808091279523492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2795398590258317195} + - component: {fileID: 659088020461764430} + - component: {fileID: 8890278808492480577} + - component: {fileID: 1984081446122729312} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2795398590258317195 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2171808091279523492} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2.5381, y: 2.5381, z: 2.5381} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3590330098133380806} + m_Father: {fileID: 6149182975052679886} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -435} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &659088020461764430 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2171808091279523492} + m_CullTransparentMesh: 1 +--- !u!114 &8890278808492480577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2171808091279523492} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1984081446122729312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2171808091279523492} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8890278808492480577} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3682957078725161371} + m_TargetAssemblyTypeName: BrewMonster.UI.EmoteWindow, Assembly-CSharp + m_MethodName: OnDragClick + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &4678669480211337198 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6149182975052679886} + - component: {fileID: 3021640613906495181} + - component: {fileID: 7003611699134334505} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6149182975052679886 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4678669480211337198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2795398590258317195} + m_Father: {fileID: 562642038236230410} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3021640613906495181 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4678669480211337198} + m_CullTransparentMesh: 1 +--- !u!114 &7003611699134334505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4678669480211337198} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8679245, g: 0.7242908, b: 0.1514774, a: 0.20392157} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6260694520480554099 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3590330098133380806} + - component: {fileID: 7504965690579856955} + - component: {fileID: 8982944209707270503} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3590330098133380806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6260694520480554099} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2795398590258317195} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7504965690579856955 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6260694520480554099} + m_CullTransparentMesh: 1 +--- !u!114 &8982944209707270503 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6260694520480554099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: WaveHand + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/PerfectWorld/Prefab/Task/UI/EmotionWindow.prefab.meta b/Assets/PerfectWorld/Prefab/Task/UI/EmotionWindow.prefab.meta new file mode 100644 index 0000000000..d75819fd8d --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/EmotionWindow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: eb88919320b4229459c83b6b1f8f1e7b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset index 24be82aded..6e9766d861 100644 --- a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset +++ b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset @@ -17,3 +17,9 @@ MonoBehaviour: prefab: {fileID: 8237288432181259026, guid: 7653e7e64393ec24c903f0606499b8c4, type: 3} - id: DialogNPCShop prefab: {fileID: 8237288432181259026, guid: eaeb778b6aab3d74299373b3a96b72c4, type: 3} + - id: Win_Award + prefab: {fileID: 903595479696773158, guid: cf26d96ae7d984ba8a5b6cef44adffeb, type: 3} + - id: Win_Task + prefab: {fileID: 6999114045547682248, guid: 8027cada0ef5e4a9f827001b4747174d, type: 3} + - id: Win_SkillSubAction + prefab: {fileID: 111271885693053298, guid: eb88919320b4229459c83b6b1f8f1e7b, type: 3} diff --git a/Assets/PerfectWorld/Scene/SceneLoader.unity b/Assets/PerfectWorld/Scene/SceneLoader.unity new file mode 100644 index 0000000000..05eb5fec54 --- /dev/null +++ b/Assets/PerfectWorld/Scene/SceneLoader.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ec5e9190fb72ed1fa3a747cdae7ac86540f744820346de9c230c39ec766666d +size 16461 diff --git a/Assets/PerfectWorld/Scene/SceneLoader.unity.meta b/Assets/PerfectWorld/Scene/SceneLoader.unity.meta new file mode 100644 index 0000000000..7b3431e4f6 --- /dev/null +++ b/Assets/PerfectWorld/Scene/SceneLoader.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 33049cc5acda8a341a74cc739bf0961b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scene/TaskTest.unity b/Assets/PerfectWorld/Scene/TaskTest.unity index 4b95fd26fc..a85f1ff954 100644 --- a/Assets/PerfectWorld/Scene/TaskTest.unity +++ b/Assets/PerfectWorld/Scene/TaskTest.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79aee339596409d8a47e0a553b1257768bd84fa0e0d6261052b33c1077658ab0 -size 41493 +oid sha256:e3e518641de396e1b30dd202ff94dc35518476c7efd747501f45f10021136ca7 +size 10723 diff --git a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.Time.cs b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.Time.cs index c1e6089fb2..f4ee1a2419 100644 --- a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.Time.cs +++ b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.Time.cs @@ -10,7 +10,7 @@ namespace BrewMonster.Network private static int m_AbsTimeStart; private static int m_iTimeError; // 服务器与本机时间差(秒) // Time error in seconds private static int m_iTimeZoneBias; // 服务器时区偏移(秒) // Server timezone bias in seconds - + public static int GetTimeZoneBias() { return m_iTimeZoneBias; } // 设置时间误差 // Set time error public static void SetServerTime(int iSevTime, int iTimeZoneBias) { diff --git a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs index 49c1abfea6..61977d7b7b 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs @@ -403,7 +403,7 @@ public class CECNPCMan : IMsgHandler pNPC.SetSelectedTarget(pCmd.iTargetID); pNPC.SetWorldHealthImage((float)pCmd.iHP , (float)pCmd.iMaxHP); - EventBus.Publish(new NPCINFO(pNPC.GetName(),pCmd.iHP,pCmd.iMaxHP, pCmd.idNPC)); + EventBus.Publish(new CECHostPlayer.NPCINFO(pNPC.GetName(),pCmd.iHP,pCmd.iMaxHP, pCmd.idNPC)); } break; } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs index 223e75e744..df4ef7c897 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs @@ -791,6 +791,14 @@ namespace BrewMonster.Scripts { return IsWorkRunning(Host_work_ID.WORK_SIT); } + public bool IsStanding() + { + return IsWorkRunning(Host_work_ID.WORK_STAND); + } + public bool IsBeingBound() + { + return IsWorkRunning(Host_work_ID.WORK_BEBOUND); + } //todo: use this method public void FinishAllWork(bool bGotoStand) { diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs index 2a7a728933..fb459db988 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMove.cs @@ -516,7 +516,7 @@ namespace BrewMonster.Scripts return true; } - if ((GetMoveRelDirMask() & (uint)((MOVE_DIR.MD_LEFT | MOVE_DIR.MD_RIGHT | MOVE_DIR.MD_FORWARD | MOVE_DIR.MD_BACK))) != 0) + if ((GetMoveRelDirMask() & (uint)((CECHostPlayer.MOVE_DIR.MD_LEFT | CECHostPlayer.MOVE_DIR.MD_RIGHT | CECHostPlayer.MOVE_DIR.MD_FORWARD | CECHostPlayer.MOVE_DIR.MD_BACK))) != 0) m_iDestType = DestTypes.DEST_PUSH; if (m_iDestType == DestTypes.DEST_2D) @@ -652,7 +652,7 @@ namespace BrewMonster.Scripts fSpeed = m_pHost.GetGroundSpeed(); bool bFinish = false; - if (m_pHost.GetPushDir(ref vMoveDir, (uint)(MOVE_DIR.MD_FORWARD | MOVE_DIR.MD_BACK | MOVE_DIR.MD_LEFT | MOVE_DIR.MD_RIGHT), fDeltaTime)) + if (m_pHost.GetPushDir(ref vMoveDir, (uint)(CECHostPlayer.MOVE_DIR.MD_FORWARD | CECHostPlayer.MOVE_DIR.MD_BACK | CECHostPlayer.MOVE_DIR.MD_LEFT | CECHostPlayer.MOVE_DIR.MD_RIGHT), fDeltaTime)) { if (vMoveDir != Vector3.zero) { @@ -799,7 +799,7 @@ namespace BrewMonster.Scripts if (!m_bReachedHeight) { m_pHost.m_vVelocity.y = 0.0f; - m_pHost.m_dwMoveRelDir &= ~((uint)(MOVE_DIR.MD_ABSUP | MOVE_DIR.MD_ABSDOWN)); + m_pHost.m_dwMoveRelDir &= ~((uint)(CECHostPlayer.MOVE_DIR.MD_ABSUP | CECHostPlayer.MOVE_DIR.MD_ABSDOWN)); m_bReachedHeight = true; } } @@ -809,13 +809,13 @@ namespace BrewMonster.Scripts { if (vCurPos.y < m_fAutoHeight * 10.0f) { - m_pHost.m_dwMoveRelDir &= ~((uint)(MOVE_DIR.MD_ABSDOWN)); - m_pHost.m_dwMoveRelDir |= ((uint)MOVE_DIR.MD_ABSUP); + m_pHost.m_dwMoveRelDir &= ~((uint)(CECHostPlayer.MOVE_DIR.MD_ABSDOWN)); + m_pHost.m_dwMoveRelDir |= ((uint)CECHostPlayer.MOVE_DIR.MD_ABSUP); } else if (vCurPos.y > m_fAutoHeight * 10.0f) { - m_pHost.m_dwMoveRelDir &= ~((uint)(MOVE_DIR.MD_ABSUP)); - m_pHost.m_dwMoveRelDir |= (uint)MOVE_DIR.MD_ABSDOWN; + m_pHost.m_dwMoveRelDir &= ~((uint)(CECHostPlayer.MOVE_DIR.MD_ABSUP)); + m_pHost.m_dwMoveRelDir |= (uint)CECHostPlayer.MOVE_DIR.MD_ABSDOWN; } } else // Auto adjust height, so we should refresh move height @@ -832,7 +832,7 @@ namespace BrewMonster.Scripts } } - if ((m_pHost.m_dwMoveRelDir & (uint)(MOVE_DIR.MD_LEFT | MOVE_DIR.MD_RIGHT | MOVE_DIR.MD_FORWARD | MOVE_DIR.MD_BACK)) != 0) + if ((m_pHost.m_dwMoveRelDir & (uint)(CECHostPlayer.MOVE_DIR.MD_LEFT | CECHostPlayer.MOVE_DIR.MD_RIGHT | CECHostPlayer.MOVE_DIR.MD_FORWARD | CECHostPlayer.MOVE_DIR.MD_BACK)) != 0) m_iDestType = DestTypes.DEST_PUSH; ON_AIR_CDR_INFO cdr = m_pHost.m_AirCDRInfo; @@ -840,7 +840,7 @@ namespace BrewMonster.Scripts if (m_iDestType == DestTypes.DEST_DIR) { Vector3 vPushDir = Vector3.zero; - m_pHost.GetPushDir(ref vPushDir, (uint)MOVE_DIR.MD_ALL, 0); + m_pHost.GetPushDir(ref vPushDir, (uint)CECHostPlayer.MOVE_DIR.MD_ALL, 0); vPushDir.x = vPushDir.z = 0.0f; float fSpeed1H = m_pHost.m_vVelocity.MagnitudeH(); @@ -881,7 +881,7 @@ namespace BrewMonster.Scripts else if (m_iDestType == DestTypes.DEST_2D) { Vector3 vPushDir = Vector3.zero; - m_pHost.GetPushDir(ref vPushDir, (uint)MOVE_DIR.MD_ALL, 0f); + m_pHost.GetPushDir(ref vPushDir, (uint)CECHostPlayer.MOVE_DIR.MD_ALL, 0f); vPushDir.x = vPushDir.z = 0.0f; float fSpeed1H = m_pHost.m_vVelocity.MagnitudeH(); @@ -1017,7 +1017,7 @@ namespace BrewMonster.Scripts else if (m_iDestType == DestTypes.DEST_PUSH) { Vector3 vPushDir = Vector3.zero, vUp; - bool bPush = m_pHost.GetPushDir(ref vPushDir, (uint)(MOVE_DIR.MD_FORWARD | MOVE_DIR.MD_BACK | MOVE_DIR.MD_LEFT | MOVE_DIR.MD_RIGHT), fDeltaTime); + bool bPush = m_pHost.GetPushDir(ref vPushDir, (uint)(CECHostPlayer.MOVE_DIR.MD_FORWARD | CECHostPlayer.MOVE_DIR.MD_BACK | CECHostPlayer.MOVE_DIR.MD_LEFT | CECHostPlayer.MOVE_DIR.MD_RIGHT), fDeltaTime); if (!bPush) { @@ -1027,7 +1027,7 @@ namespace BrewMonster.Scripts } int nPitchDir = 0; - if ((m_pHost.m_dwMoveRelDir & (int)(MOVE_DIR.MD_LEFT | MOVE_DIR.MD_RIGHT)) == 0) + if ((m_pHost.m_dwMoveRelDir & (int)(CECHostPlayer.MOVE_DIR.MD_LEFT | CECHostPlayer.MOVE_DIR.MD_RIGHT)) == 0) { A3DVECTOR3 vOldDir = m_pHost.GetModelMoveDir(); vOldDir.y = 0; @@ -1043,27 +1043,27 @@ namespace BrewMonster.Scripts A3DVECTOR3 vUp_fAngle = A3DVECTOR3.CrossProduct(vOldDir, vNewDir); if (vUp_fAngle.y > 0) nPitchDir = 1; else nPitchDir = -1; - if ((m_pHost.m_dwMoveRelDir & (uint)MOVE_DIR.MD_BACK) != 0) + if ((m_pHost.m_dwMoveRelDir & (uint)CECHostPlayer.MOVE_DIR.MD_BACK) != 0) nPitchDir = -nPitchDir; } } if (m_pHost.m_dwMoveRelDir != 0) { - if ((m_pHost.m_dwMoveRelDir & ~(uint)(MOVE_DIR.MD_ABSDOWN | MOVE_DIR.MD_ABSUP)) != 0) + if ((m_pHost.m_dwMoveRelDir & ~(uint)(CECHostPlayer.MOVE_DIR.MD_ABSDOWN | CECHostPlayer.MOVE_DIR.MD_ABSUP)) != 0) { float fPitchDelta = (/*m_pHost.UsingWing()*/m_pHost.GetWingType() == enumWingType.WINGTYPE_WING ? push_pitch_vel_wing : push_pitch_vel_fly_sword) * fDeltaTime; - if ((m_pHost.m_dwMoveRelDir & (uint)MOVE_DIR.MD_LEFT) != 0 || nPitchDir == -1) + if ((m_pHost.m_dwMoveRelDir & (uint)CECHostPlayer.MOVE_DIR.MD_LEFT) != 0 || nPitchDir == -1) { - if ((m_pHost.m_dwMoveRelDir & (uint)MOVE_DIR.MD_BACK) != 0) + if ((m_pHost.m_dwMoveRelDir & (uint)CECHostPlayer.MOVE_DIR.MD_BACK) != 0) m_fPushPitch -= fPitchDelta; else m_fPushPitch += fPitchDelta; } - else if ((m_pHost.m_dwMoveRelDir & (uint)MOVE_DIR.MD_RIGHT) != 0 || nPitchDir == 1) + else if ((m_pHost.m_dwMoveRelDir & (uint)CECHostPlayer.MOVE_DIR.MD_RIGHT) != 0 || nPitchDir == 1) { - if ((m_pHost.m_dwMoveRelDir & (uint)MOVE_DIR.MD_BACK) != 0) + if ((m_pHost.m_dwMoveRelDir & (uint)CECHostPlayer.MOVE_DIR.MD_BACK) != 0) m_fPushPitch += fPitchDelta; else m_fPushPitch -= fPitchDelta; @@ -1097,7 +1097,7 @@ namespace BrewMonster.Scripts } // if (bPush) - if (bPush || (m_pHost.m_dwMoveRelDir & (uint)(MOVE_DIR.MD_ABSDOWN | MOVE_DIR.MD_ABSUP)) != 0) + if (bPush || (m_pHost.m_dwMoveRelDir & (uint)(CECHostPlayer.MOVE_DIR.MD_ABSDOWN | CECHostPlayer.MOVE_DIR.MD_ABSUP)) != 0) { // float pa = bPush ? EC_PUSH_ACCE : 0.0f; float pa = CECHostMove.EC_PUSH_ACCE; @@ -1113,12 +1113,12 @@ namespace BrewMonster.Scripts if (bPush) vVelDir = vPushDir; - if ((m_pHost.m_dwMoveRelDir & (uint)MOVE_DIR.MD_ABSDOWN) != 0) + if ((m_pHost.m_dwMoveRelDir & (uint)CECHostPlayer.MOVE_DIR.MD_ABSDOWN) != 0) { vVelDir += -EC_Utility.ToVector3(GPDataTypeHelper.g_vAxisY); vVelDir.Normalize(); } - else if ((m_pHost.m_dwMoveRelDir & (uint)MOVE_DIR.MD_ABSUP) != 0) + else if ((m_pHost.m_dwMoveRelDir & (uint)CECHostPlayer.MOVE_DIR.MD_ABSUP) != 0) { vVelDir += EC_Utility.ToVector3(GPDataTypeHelper.g_vAxisY); vVelDir.Normalize(); diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs index 70d4966f54..4107c5d1fb 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs @@ -1,16 +1,17 @@ -using System; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using System.Reflection; -using System.Text; -using CSNetwork.GPDataType; -using BrewMonster.Network; using BrewMonster; using BrewMonster.Common; +using BrewMonster.Network; +using BrewMonster.Scripts; +using CSNetwork.GPDataType; using ModelRenderer.Scripts.GameData; using PerfectWorld.Scripts.Managers; -using BrewMonster.Scripts; +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; namespace BrewMonster.Scripts.Managers { @@ -23,7 +24,7 @@ namespace BrewMonster.Scripts.Managers [Header("Detail Panel (assign in Inspector)")] [SerializeField] private GameObject detailPanelRoot; - [SerializeField] private Vector2 detailPanelOffset = new Vector2(20f, 0f); + [SerializeField] private Vector2 detailPanelOffset = new Vector2(20f, 0f); [SerializeField] private bool hideDetailOnStart = true; [SerializeField] private TextOutlet nameText; [SerializeField] private TextOutlet descriptionText; @@ -35,35 +36,41 @@ namespace BrewMonster.Scripts.Managers [SerializeField] private bool autoRefresh = true; [SerializeField] private float refreshInterval = 1.0f; [SerializeField] private bool showEquipmentDetails = true; - - [Header("Money UI (assign any text fields to mirror money amount)")] - [SerializeField] private List moneyTextsLegacy = new List(); - [SerializeField] private List moneyTextsTMP = new List(); - - [Header("Cash UI (assign any text fields to mirror cash amount)")] - [SerializeField] private List cashTextsLegacy = new List(); - [SerializeField] private List cashTextsTMP = new List(); + + [Header("Money UI (assign any text fields to mirror money amount)")] + [SerializeField] private List moneyTextsLegacy = new List(); + [SerializeField] private List moneyTextsTMP = new List(); + + [Header("Cash UI (assign any text fields to mirror cash amount)")] + [SerializeField] private List cashTextsLegacy = new List(); + [SerializeField] private List cashTextsTMP = new List(); private float lastRefreshTime; - // Pending currency cache for when UI is not yet active - private static bool s_hasPendingMoney; - private static ulong s_pendingMoneyAmount; - private static ulong s_pendingMoneyMaxAmount; - private static bool s_hasPendingCash; - private static int s_pendingCashAmount; + // Pending currency cache for when UI is not yet active + private static bool s_hasPendingMoney; + private static ulong s_pendingMoneyAmount; + private static ulong s_pendingMoneyMaxAmount; + private static bool s_hasPendingCash; + private static int s_pendingCashAmount; - // Flags to prevent log spam for extended description warnings - // 防止扩展描述警告日志刷屏的标志 - private static bool m_HasLoggedExtDescNull = false; - private static bool m_HasLoggedExtDescNotInit = false; - private static bool m_HasLoggedExtDescError = false; + // Flags to prevent log spam for extended description warnings + // 防止扩展描述警告日志刷屏的标志 + private static bool m_HasLoggedExtDescNull = false; + private static bool m_HasLoggedExtDescNotInit = false; + private static bool m_HasLoggedExtDescError = false; private InventoryModel model; private InventoryView view; - + + // Drag-and-drop state + private int draggedItemSourceSlot = -1; + private byte draggedItemSourcePackage = 0; + [SerializeField] private Image currentDragImage; + private bool isDragging = false; + // === Text Formatting Methods === - + /// /// Format text for TextMeshPro components with rich text support /// @@ -73,7 +80,7 @@ namespace BrewMonster.Scripts.Managers { return EC_Utility.FormatForTextMeshPro(text); } - + // Current selected item for equip/unequip operations private byte currentSelectedPackage; private int currentSelectedSlot; @@ -88,6 +95,20 @@ namespace BrewMonster.Scripts.Managers { model = new InventoryModel(); view = new InventoryView(); + + if (currentDragImage == null) + { + var canvas = GetComponentInParent(); + if (canvas == null) + { + canvas = FindAnyObjectByType(); + } + var go = new GameObject("DragImage", typeof(RectTransform), typeof(CanvasRenderer), typeof(Image)); + go.transform.SetParent(canvas.transform, false); + currentDragImage = go.GetComponent(); + currentDragImage.raycastTarget = false; + currentDragImage.gameObject.SetActive(false); + } } private void Start() @@ -97,15 +118,15 @@ namespace BrewMonster.Scripts.Managers { ShowDetailPanel(false); } - // Apply any pending currency values captured before the UI became active - ApplyPendingCurrency(); + // Apply any pending currency values captured before the UI became active + ApplyPendingCurrency(); } - private void OnEnable() - { - // Ensure cached values are pushed when the UI is enabled - ApplyPendingCurrency(); - } + private void OnEnable() + { + // Ensure cached values are pushed when the UI is enabled + ApplyPendingCurrency(); + } private void Update() { @@ -128,109 +149,109 @@ namespace BrewMonster.Scripts.Managers view.RenderPackage(fashionPackButtons, fshItems, PKG_FASHION, OnInventoryButtonClicked, GetDisplayTextForItem); } - /// - /// Update all configured money text components with the current amount. - /// Call this when GET_OWN_MONEY arrives. - /// - public void UpdateMoney(ulong amount, ulong maxAmount) - { - string text = amount.ToString(); - if (moneyTextsLegacy != null) - { - for (int i = 0; i < moneyTextsLegacy.Count; i++) - { - var t = moneyTextsLegacy[i]; - if (t != null) t.text = text; - } - } - if (moneyTextsTMP != null) - { - for (int i = 0; i < moneyTextsTMP.Count; i++) - { - var t = moneyTextsTMP[i]; - if (t != null) t.text = text; - } - } - } - - /// - /// Update all configured cash text components with the current boutique cash amount. - /// Call this when PLAYER_CASH arrives. - /// - public void UpdateCash(int amount) - { - string text = amount.ToString(); - if (cashTextsLegacy != null) - { - for (int i = 0; i < cashTextsLegacy.Count; i++) - { - var t = cashTextsLegacy[i]; - if (t != null) t.text = text; - } - } - if (cashTextsTMP != null) - { - for (int i = 0; i < cashTextsTMP.Count; i++) - { - var t = cashTextsTMP[i]; - if (t != null) t.text = text; - } - } - } + /// + /// Update all configured money text components with the current amount. + /// Call this when GET_OWN_MONEY arrives. + /// + public void UpdateMoney(ulong amount, ulong maxAmount) + { + string text = amount.ToString(); + if (moneyTextsLegacy != null) + { + for (int i = 0; i < moneyTextsLegacy.Count; i++) + { + var t = moneyTextsLegacy[i]; + if (t != null) t.text = text; + } + } + if (moneyTextsTMP != null) + { + for (int i = 0; i < moneyTextsTMP.Count; i++) + { + var t = moneyTextsTMP[i]; + if (t != null) t.text = text; + } + } + } - // Public static entry points to cache values when UI is unavailable - public static void CacheMoney(ulong amount, ulong maxAmount) - { - s_pendingMoneyAmount = amount; - s_pendingMoneyMaxAmount = maxAmount; - s_hasPendingMoney = true; - // If an instance exists (even inactive), push immediately so the value is ready - var all = Resources.FindObjectsOfTypeAll(); - if (all != null) - { - for (int i = 0; i < all.Length; i++) - { - var ui = all[i]; - if (ui != null && ui.gameObject.scene.IsValid()) - { - ui.ApplyPendingCurrency(); - break; - } - } - } - } + /// + /// Update all configured cash text components with the current boutique cash amount. + /// Call this when PLAYER_CASH arrives. + /// + public void UpdateCash(int amount) + { + string text = amount.ToString(); + if (cashTextsLegacy != null) + { + for (int i = 0; i < cashTextsLegacy.Count; i++) + { + var t = cashTextsLegacy[i]; + if (t != null) t.text = text; + } + } + if (cashTextsTMP != null) + { + for (int i = 0; i < cashTextsTMP.Count; i++) + { + var t = cashTextsTMP[i]; + if (t != null) t.text = text; + } + } + } - public static void CacheCash(int amount) - { - s_pendingCashAmount = amount; - s_hasPendingCash = true; - // If an instance exists (even inactive), push immediately so the value is ready - var all = Resources.FindObjectsOfTypeAll(); - if (all != null) - { - for (int i = 0; i < all.Length; i++) - { - var ui = all[i]; - if (ui != null && ui.gameObject.scene.IsValid()) - { - ui.ApplyPendingCurrency(); - break; - } - } - } - } + // Public static entry points to cache values when UI is unavailable + public static void CacheMoney(ulong amount, ulong maxAmount) + { + s_pendingMoneyAmount = amount; + s_pendingMoneyMaxAmount = maxAmount; + s_hasPendingMoney = true; + // If an instance exists (even inactive), push immediately so the value is ready + var all = Resources.FindObjectsOfTypeAll(); + if (all != null) + { + for (int i = 0; i < all.Length; i++) + { + var ui = all[i]; + if (ui != null && ui.gameObject.scene.IsValid()) + { + ui.ApplyPendingCurrency(); + break; + } + } + } + } - private void ApplyPendingCurrency() - { - if (s_hasPendingMoney) - { - UpdateMoney(s_pendingMoneyAmount, s_pendingMoneyMaxAmount); - } - if (s_hasPendingCash) - { - UpdateCash(s_pendingCashAmount); - } - } + public static void CacheCash(int amount) + { + s_pendingCashAmount = amount; + s_hasPendingCash = true; + // If an instance exists (even inactive), push immediately so the value is ready + var all = Resources.FindObjectsOfTypeAll(); + if (all != null) + { + for (int i = 0; i < all.Length; i++) + { + var ui = all[i]; + if (ui != null && ui.gameObject.scene.IsValid()) + { + ui.ApplyPendingCurrency(); + break; + } + } + } + } + + private void ApplyPendingCurrency() + { + if (s_hasPendingMoney) + { + UpdateMoney(s_pendingMoneyAmount, s_pendingMoneyMaxAmount); + } + if (s_hasPendingCash) + { + UpdateCash(s_pendingCashAmount); + } + } private void OnInventoryButtonClicked(byte package, int slot) { @@ -242,13 +263,13 @@ namespace BrewMonster.Scripts.Managers currentSelectedPackage = package; currentSelectedSlot = slot; currentSelectedItem = itemData; - + // Create equipment object if this is equipment currentSelectedEquipment = CreateEquipmentFromItemData(itemData); - // Position detail panel near the clicked item button - PositionDetailPanelNearButton(package, slot); - + // Position detail panel near the clicked item button + PositionDetailPanelNearButton(package, slot); + FillDetailPanel(package, itemData); } else @@ -266,19 +287,19 @@ namespace BrewMonster.Scripts.Managers return null; var equipment = new EC_IvtrEquip(itemData.m_tid, itemData.m_expire_date); - + // Set basic properties (use default values since InventoryItemData doesn't have these) equipment.Price = 0; equipment.Count = itemData.m_iCount; equipment.PriceScale = 1.0f; equipment.ScaleType = 0; - + // Parse item info if available (use Content field) if (itemData.Content != null && itemData.Content.Length > 0) { equipment.SetItemInfo(itemData.Content, itemData.Content.Length); } - + return equipment; } @@ -418,7 +439,7 @@ namespace BrewMonster.Scripts.Managers // Call RequestDropIvrtItem with slot index and amount UnityGameSession.RequestDropIvrtItem((byte)currentSelectedSlot, 1); Debug.Log($"[InventoryUI] Drop request sent for inventory item {currentSelectedItem.m_tid} from slot {currentSelectedSlot} with amount {currentSelectedItem.m_iCount}"); - + // Refresh inventory after drop RefreshAll(); } @@ -430,12 +451,12 @@ namespace BrewMonster.Scripts.Managers // Call RequestDropEquipItem with slot index UnityGameSession.RequestDropEquipItem((byte)currentSelectedSlot); Debug.Log($"[InventoryUI] Drop request sent for equipment item {currentSelectedItem.m_tid} from slot {currentSelectedSlot}"); - + // Refresh inventory after drop RefreshAll(); } - + private int FindEmptyInventorySlot() { var inventoryData = model.GetInventoryData(PKG_INVENTORY); @@ -451,7 +472,7 @@ namespace BrewMonster.Scripts.Managers } return -1; } - + /// /// Get item description from string table /// @@ -490,10 +511,10 @@ namespace BrewMonster.Scripts.Managers { Debug.LogWarning($"[InventoryUI] Error getting item description for ID {templateId}: {ex.Message}"); } - + return null; } - + /// /// Get extended item description from string table /// @@ -532,10 +553,10 @@ namespace BrewMonster.Scripts.Managers { Debug.LogWarning($"[InventoryUI] Error getting extended item description for ID {templateId}: {ex.Message}"); } - + return null; } - + /// /// Get user-friendly text for item state /// @@ -602,7 +623,7 @@ namespace BrewMonster.Scripts.Managers bool hasItem = items != null && items.TryGetValue(slot, out itemData); button.onClick.RemoveAllListeners(); int capturedSlot = slot; - button.onClick.AddListener(() => onClick(package, capturedSlot)); + button.onClick.AddListener(() => onClick(package, capturedSlot)); // Optional visual tweaks based on state/count var image = button.GetComponent(); if (image != null) @@ -627,6 +648,24 @@ namespace BrewMonster.Scripts.Managers image.enabled = true; } } + + var eventTrigger = button.GetComponent(); + if (eventTrigger == null) + eventTrigger = button.gameObject.AddComponent(); + + eventTrigger.triggers.Clear(); + + void AddEvent(EventTriggerType type, UnityEngine.Events.UnityAction action) + { + var entry = new EventTrigger.Entry { eventID = type }; + entry.callback.AddListener(action); + eventTrigger.triggers.Add(entry); + } + + AddEvent(EventTriggerType.BeginDrag, (data) => ((EC_InventoryUI)button.GetComponentInParent()).OnBeginDrag((PointerEventData)data)); + AddEvent(EventTriggerType.Drag, (data) => ((EC_InventoryUI)button.GetComponentInParent()).OnDrag((PointerEventData)data)); + AddEvent(EventTriggerType.EndDrag, (data) => ((EC_InventoryUI)button.GetComponentInParent()).OnEndDrag((PointerEventData)data)); + AddEvent(EventTriggerType.Drop, (data) => ((EC_InventoryUI)button.GetComponentInParent()).OnDrop((PointerEventData)data)); } } } @@ -649,7 +688,7 @@ namespace BrewMonster.Scripts.Managers tmp.text = FormatForTextMeshPro(value ?? string.Empty); } } - + /// /// Set text with explicit formatting preference /// @@ -657,10 +696,10 @@ namespace BrewMonster.Scripts.Managers /// Whether to prefer TextMeshPro formatting public void SetFormatted(string value, bool preferTextMeshPro = true) { - string formattedText = preferTextMeshPro ? - FormatForTextMeshPro(value ?? string.Empty) : + string formattedText = preferTextMeshPro ? + FormatForTextMeshPro(value ?? string.Empty) : EC_Utility.FormatForLegacyText(value ?? string.Empty); - + if (legacy != null) { legacy.text = formattedText; @@ -675,7 +714,7 @@ namespace BrewMonster.Scripts.Managers public void RefreshLayout(GameObject gameObject) { var parent = gameObject.GetComponent(); - + // Force Unity to rebuild layout immediately parent.ForceUpdateRectTransforms(); LayoutRebuilder.ForceRebuildLayoutImmediate(parent); @@ -689,115 +728,115 @@ namespace BrewMonster.Scripts.Managers } } - private Button GetButtonForSlot(byte package, int slot) - { - List