Merge branch 'develop' into feature/clear-embedded-chip
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 97d5bf1c2fec02844993b30c645fe286
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,44 @@
|
||||
// 宠物出场自动释放技能配置
|
||||
// 格式:技能1 技能2 技能3......
|
||||
|
||||
801
|
||||
802
|
||||
803
|
||||
804
|
||||
805
|
||||
1559
|
||||
1560
|
||||
1561
|
||||
1562
|
||||
1563
|
||||
2081
|
||||
2077
|
||||
2093
|
||||
2059
|
||||
2094
|
||||
2096
|
||||
2098
|
||||
2100
|
||||
2102
|
||||
2104
|
||||
2106
|
||||
2108
|
||||
2110
|
||||
2112
|
||||
2114
|
||||
2116
|
||||
2062
|
||||
2118
|
||||
2120
|
||||
2121
|
||||
2122
|
||||
2146
|
||||
2124
|
||||
2125
|
||||
2126
|
||||
2058
|
||||
2127
|
||||
2128
|
||||
2136
|
||||
2725
|
||||
3278
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8022adc119619b34fb2192efbff367d1
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -85,11 +85,21 @@ MonoBehaviour:
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 8022adc119619b34fb2192efbff367d1
|
||||
m_Address: Assets/Addressable/petautoskill.txt
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 863a9da1fd09c934ea870dc4cfd4a906
|
||||
m_Address: Assets/Addressable/maps/a61/movemap/r1_1-c1_2-l0.prmap.txt
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 97d5bf1c2fec02844993b30c645fe286
|
||||
m_Address: Assets/Addressable/badwords.txt
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 98b87a70ddccda2459742976c2b90262
|
||||
m_Address: Assets/Addressable/gshop1.txt
|
||||
m_ReadOnly: 0
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa2ec4fb3e3ae4843bcc25ec13c56761
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ef57348cc14e2c44b0d93d82309fb45
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ddc0695fd6ea2f04bb8012d070f14971
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e87c0edb5abf70047b61a962856e094a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53144361e2a90ed4e918b2f7dd90ceec
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 365c467577a8ce44495eb488cd707559
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c4d86c66a7bc42a41a047326db03bd43
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -9,12 +9,13 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6620715533904588879}
|
||||
- component: {fileID: 8971906507328977954}
|
||||
m_Layer: 0
|
||||
m_Name: litmodel_1858.bmd
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6620715533904588879
|
||||
Transform:
|
||||
@@ -26,7 +27,7 @@ Transform:
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.6009749, y: 0.60097486, z: 0.60097486}
|
||||
m_LocalScale: {x: 0.60097486, y: 0.60097486, z: 0.60097486}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3802196365371919653}
|
||||
@@ -34,8 +35,24 @@ Transform:
|
||||
- {fileID: 642723427162609800}
|
||||
- {fileID: 5468985526413160933}
|
||||
- {fileID: 4305396298280240728}
|
||||
- {fileID: 2374675958549553526}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8971906507328977954
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2314062561766911216}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59e5e7b3dc884d92a21aa09f5a2c208d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_modelPath: litmodels/a61/6/litmodel_1858.bmd
|
||||
_buildingMeshRenderer: {fileID: 483505391458485963, guid: 028823e57276945c4a8c11c1d6067394, type: 3}
|
||||
_halfSpacePrefab: {fileID: 0}
|
||||
--- !u!1 &2339233178148791680
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -45,15 +62,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4305396298280240728}
|
||||
- component: {fileID: 5018183914019923839}
|
||||
- component: {fileID: 7601683473776944617}
|
||||
- component: {fileID: 7598424356279927743}
|
||||
- component: {fileID: 2766007181529087648}
|
||||
m_Layer: 0
|
||||
m_Name: Plane07
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4305396298280240728
|
||||
Transform:
|
||||
@@ -70,6 +87,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6620715533904588879}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5018183914019923839
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2339233178148791680}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 7601683473776944617}
|
||||
_meshRenderer: {fileID: 7598424356279927743}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &7601683473776944617
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -123,28 +155,6 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &2766007181529087648
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2339233178148791680}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: debea84a7d6595643a53de1dd566971e, type: 2}
|
||||
--- !u!1 &3485809628087161448
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -157,13 +167,12 @@ GameObject:
|
||||
- component: {fileID: 4376806984282474990}
|
||||
- component: {fileID: 6386291787311475679}
|
||||
- component: {fileID: 3930127726212162846}
|
||||
- component: {fileID: 3212405443933505398}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &3802196365371919653
|
||||
Transform:
|
||||
@@ -254,28 +263,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &3212405443933505398
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3485809628087161448}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 9fa5ff3c3e448134eb7e3ce9c089ef4a, type: 2}
|
||||
--- !u!1 &3638618787983965184
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -285,15 +272,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5468985526413160933}
|
||||
- component: {fileID: 8855383621233754012}
|
||||
- component: {fileID: 3682369117625429100}
|
||||
- component: {fileID: 933992426169001204}
|
||||
- component: {fileID: 2323754348112517762}
|
||||
m_Layer: 0
|
||||
m_Name: Box76
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5468985526413160933
|
||||
Transform:
|
||||
@@ -310,6 +297,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6620715533904588879}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8855383621233754012
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3638618787983965184}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 3682369117625429100}
|
||||
_meshRenderer: {fileID: 933992426169001204}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &3682369117625429100
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -363,13 +365,100 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &2323754348112517762
|
||||
--- !u!1 &4363002964825893588
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2374675958549553526}
|
||||
- component: {fileID: 4527544251728066118}
|
||||
- component: {fileID: 5311223652641166228}
|
||||
- component: {fileID: 3754629199141232990}
|
||||
m_Layer: 0
|
||||
m_Name: CDBrushCollider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2374675958549553526
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4363002964825893588}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0.009164956, y: -0.35673073, z: 0.033771332, w: 0.93355167}
|
||||
m_LocalPosition: {x: 593.935, y: 8.849079, z: 1059.9131}
|
||||
m_LocalScale: {x: 1.6639633, y: 1.6639631, z: 1.6639628}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6620715533904588879}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &4527544251728066118
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4363002964825893588}
|
||||
m_Mesh: {fileID: 4300000, guid: 7ef57348cc14e2c44b0d93d82309fb45, type: 2}
|
||||
--- !u!23 &5311223652641166228
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4363002964825893588}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
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
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &3754629199141232990
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3638618787983965184}
|
||||
m_GameObject: {fileID: 4363002964825893588}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
@@ -384,7 +473,7 @@ MeshCollider:
|
||||
serializedVersion: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: c08d860dbee1fc04982548760a3e6772, type: 2}
|
||||
m_Mesh: {fileID: 4300000, guid: 7ef57348cc14e2c44b0d93d82309fb45, type: 2}
|
||||
--- !u!1 &4972250255338124789
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -394,15 +483,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 642723427162609800}
|
||||
- component: {fileID: 9097665641590201619}
|
||||
- component: {fileID: 5167380396376929393}
|
||||
- component: {fileID: 4925996912478658442}
|
||||
- component: {fileID: 2968994200318392227}
|
||||
m_Layer: 0
|
||||
m_Name: Object3420
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &642723427162609800
|
||||
Transform:
|
||||
@@ -419,6 +508,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6620715533904588879}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &9097665641590201619
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4972250255338124789}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 5167380396376929393}
|
||||
_meshRenderer: {fileID: 4925996912478658442}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &5167380396376929393
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -472,28 +576,6 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &2968994200318392227
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4972250255338124789}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 8f3249ba302780d439604a8adbef43a0, type: 2}
|
||||
--- !u!1 &9179223615275914270
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -503,6 +585,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8430704228723251584}
|
||||
- component: {fileID: 7012760499325483412}
|
||||
- component: {fileID: 5934929730268457527}
|
||||
- component: {fileID: 5803992813184748586}
|
||||
m_Layer: 0
|
||||
@@ -510,7 +593,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8430704228723251584
|
||||
Transform:
|
||||
@@ -527,6 +610,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6620715533904588879}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7012760499325483412
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9179223615275914270}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 5934929730268457527}
|
||||
_meshRenderer: {fileID: 5803992813184748586}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &5934929730268457527
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -9,12 +9,13 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6818785608557861497}
|
||||
- component: {fileID: 6650654117781535818}
|
||||
m_Layer: 0
|
||||
m_Name: litmodel_1862.bmd
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6818785608557861497
|
||||
Transform:
|
||||
@@ -32,8 +33,133 @@ Transform:
|
||||
- {fileID: 1612251013623532140}
|
||||
- {fileID: 3893658919594854549}
|
||||
- {fileID: 4582541177654313918}
|
||||
- {fileID: 5517097883188089445}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6650654117781535818
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1232861201246319598}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59e5e7b3dc884d92a21aa09f5a2c208d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_modelPath: litmodels/a61/6/litmodel_1862.bmd
|
||||
_buildingMeshRenderer: {fileID: 483505391458485963, guid: 028823e57276945c4a8c11c1d6067394, type: 3}
|
||||
_halfSpacePrefab: {fileID: 0}
|
||||
--- !u!1 &1598138727650332108
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5517097883188089445}
|
||||
- component: {fileID: 5043951339685173402}
|
||||
- component: {fileID: 3695623971278613789}
|
||||
- component: {fileID: 6306482458475048067}
|
||||
m_Layer: 0
|
||||
m_Name: CDBrushCollider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5517097883188089445
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1598138727650332108}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0.47503158, z: -0, w: 0.87996876}
|
||||
m_LocalPosition: {x: 70.279106, y: -14.453853, z: 307.1064}
|
||||
m_LocalScale: {x: 0.41945174, y: 0.41945174, z: 0.41945174}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6818785608557861497}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &5043951339685173402
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1598138727650332108}
|
||||
m_Mesh: {fileID: 4300000, guid: ddc0695fd6ea2f04bb8012d070f14971, type: 2}
|
||||
--- !u!23 &3695623971278613789
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1598138727650332108}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
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
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &6306482458475048067
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1598138727650332108}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: ddc0695fd6ea2f04bb8012d070f14971, type: 2}
|
||||
--- !u!1 &2388712936800771917
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -46,13 +172,12 @@ GameObject:
|
||||
- component: {fileID: 2968255532397389682}
|
||||
- component: {fileID: 5438948683012025387}
|
||||
- component: {fileID: 681523459429023314}
|
||||
- component: {fileID: 3515302230652129360}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &1612251013623532140
|
||||
Transform:
|
||||
@@ -143,28 +268,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &3515302230652129360
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2388712936800771917}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: cbd2119c1b57b394ebc3035b8542d417, type: 2}
|
||||
--- !u!1 &3030075289969426418
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -174,6 +277,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3893658919594854549}
|
||||
- component: {fileID: 2869355067384539996}
|
||||
- component: {fileID: 5470214968288972111}
|
||||
- component: {fileID: 6188963964924328644}
|
||||
m_Layer: 0
|
||||
@@ -181,7 +285,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3893658919594854549
|
||||
Transform:
|
||||
@@ -198,6 +302,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6818785608557861497}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2869355067384539996
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3030075289969426418}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 5470214968288972111}
|
||||
_meshRenderer: {fileID: 6188963964924328644}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &5470214968288972111
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -260,15 +379,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4582541177654313918}
|
||||
- component: {fileID: 3009622973590342411}
|
||||
- component: {fileID: 7275032875186968201}
|
||||
- component: {fileID: 7323075174205319422}
|
||||
- component: {fileID: 3485083940773831860}
|
||||
m_Layer: 0
|
||||
m_Name: "\u77F3\u5934\u7FA4-\u83491-\u5C0F\u77F3\u5934002"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4582541177654313918
|
||||
Transform:
|
||||
@@ -285,6 +404,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6818785608557861497}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &3009622973590342411
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3485220072246501903}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 7275032875186968201}
|
||||
_meshRenderer: {fileID: 7323075174205319422}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &7275032875186968201
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -338,25 +472,3 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &3485083940773831860
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3485220072246501903}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 4dc1d9f04f0ba4e4b9d223b2c07bd89e, type: 2}
|
||||
|
||||
@@ -1,5 +1,114 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &172793201247077112
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7608619978697582171}
|
||||
- component: {fileID: 6406699908441070328}
|
||||
- component: {fileID: 3536295598767213851}
|
||||
- component: {fileID: 8712326172030274561}
|
||||
m_Layer: 0
|
||||
m_Name: CDBrushCollider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7608619978697582171
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 172793201247077112}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0.98544973, z: -0, w: 0.1699672}
|
||||
m_LocalPosition: {x: -294.38223, y: -15.892957, z: 13.95909}
|
||||
m_LocalScale: {x: 0.39123014, y: 0.3912302, z: 0.39123014}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4752216487722087006}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &6406699908441070328
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 172793201247077112}
|
||||
m_Mesh: {fileID: 4300000, guid: e87c0edb5abf70047b61a962856e094a, type: 2}
|
||||
--- !u!23 &3536295598767213851
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 172793201247077112}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
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
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &8712326172030274561
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 172793201247077112}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: e87c0edb5abf70047b61a962856e094a, type: 2}
|
||||
--- !u!1 &224338938491563564
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12,13 +121,12 @@ GameObject:
|
||||
- component: {fileID: 4377393157200962775}
|
||||
- component: {fileID: 4810886438903164393}
|
||||
- component: {fileID: 6742417741599547535}
|
||||
- component: {fileID: 7558972457630595642}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &5731830492325550992
|
||||
Transform:
|
||||
@@ -109,28 +217,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &7558972457630595642
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 224338938491563564}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: d47bc57048eada04eb33065bc32e5bd9, type: 2}
|
||||
--- !u!1 &3639320666472738195
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -140,12 +226,13 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4752216487722087006}
|
||||
- component: {fileID: 2874221049017797962}
|
||||
m_Layer: 0
|
||||
m_Name: litmodel_1867.bmd
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4752216487722087006
|
||||
Transform:
|
||||
@@ -163,8 +250,24 @@ Transform:
|
||||
- {fileID: 5731830492325550992}
|
||||
- {fileID: 1618002668272441283}
|
||||
- {fileID: 8486254419225748666}
|
||||
- {fileID: 7608619978697582171}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2874221049017797962
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3639320666472738195}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59e5e7b3dc884d92a21aa09f5a2c208d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_modelPath: litmodels/a61/6/litmodel_1867.bmd
|
||||
_buildingMeshRenderer: {fileID: 483505391458485963, guid: 028823e57276945c4a8c11c1d6067394, type: 3}
|
||||
_halfSpacePrefab: {fileID: 0}
|
||||
--- !u!1 &5788265423816265018
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -174,6 +277,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1618002668272441283}
|
||||
- component: {fileID: 4630435523954315004}
|
||||
- component: {fileID: 4936805761018033330}
|
||||
- component: {fileID: 4244163224790429753}
|
||||
m_Layer: 0
|
||||
@@ -181,7 +285,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1618002668272441283
|
||||
Transform:
|
||||
@@ -198,6 +302,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4752216487722087006}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4630435523954315004
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5788265423816265018}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 4936805761018033330}
|
||||
_meshRenderer: {fileID: 4244163224790429753}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &4936805761018033330
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -260,15 +379,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8486254419225748666}
|
||||
- component: {fileID: 8002505015633449250}
|
||||
- component: {fileID: 9106085224755893441}
|
||||
- component: {fileID: 1677616681961558193}
|
||||
- component: {fileID: 8071207353266352483}
|
||||
m_Layer: 0
|
||||
m_Name: "\u77F3\u5934\u7FA4-\u83491-\u5C0F\u77F3\u5934002"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8486254419225748666
|
||||
Transform:
|
||||
@@ -285,6 +404,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4752216487722087006}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8002505015633449250
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6886684710405263843}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 9106085224755893441}
|
||||
_meshRenderer: {fileID: 1677616681961558193}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &9106085224755893441
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -338,25 +472,3 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &8071207353266352483
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6886684710405263843}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 5bcde4f6995bda44bbceb5f5a6af526a, type: 2}
|
||||
|
||||
@@ -9,12 +9,13 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6475581097579970790}
|
||||
- component: {fileID: 2215667107604869555}
|
||||
m_Layer: 0
|
||||
m_Name: litmodel_1898.bmd
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6475581097579970790
|
||||
Transform:
|
||||
@@ -32,8 +33,133 @@ Transform:
|
||||
- {fileID: 1084874715169113141}
|
||||
- {fileID: 1911635272754944718}
|
||||
- {fileID: 6722884338247993433}
|
||||
- {fileID: 2212218385651794187}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2215667107604869555
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 174771146519727535}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59e5e7b3dc884d92a21aa09f5a2c208d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_modelPath: litmodels/a61/6/litmodel_1898.bmd
|
||||
_buildingMeshRenderer: {fileID: 483505391458485963, guid: 028823e57276945c4a8c11c1d6067394, type: 3}
|
||||
_halfSpacePrefab: {fileID: 0}
|
||||
--- !u!1 &787211151800135413
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2212218385651794187}
|
||||
- component: {fileID: 5601456882205794911}
|
||||
- component: {fileID: 5564988953748425229}
|
||||
- component: {fileID: 2939736982135528873}
|
||||
m_Layer: 0
|
||||
m_Name: CDBrushCollider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2212218385651794187
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 787211151800135413}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.019027056, y: -0.6309642, z: 0.047790635, w: 0.7741048}
|
||||
m_LocalPosition: {x: -35.249825, y: -13.226669, z: 372.96506}
|
||||
m_LocalScale: {x: 0.5297467, y: 0.5297468, z: 0.5297468}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6475581097579970790}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &5601456882205794911
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 787211151800135413}
|
||||
m_Mesh: {fileID: 4300000, guid: 53144361e2a90ed4e918b2f7dd90ceec, type: 2}
|
||||
--- !u!23 &5564988953748425229
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 787211151800135413}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
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
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &2939736982135528873
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 787211151800135413}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 53144361e2a90ed4e918b2f7dd90ceec, type: 2}
|
||||
--- !u!1 &2447526579919937863
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -43,15 +169,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6722884338247993433}
|
||||
- component: {fileID: 3765278913130644654}
|
||||
- component: {fileID: 6900722094898584654}
|
||||
- component: {fileID: 4270610089866800178}
|
||||
- component: {fileID: 1393325988028726257}
|
||||
m_Layer: 0
|
||||
m_Name: "\u5973\u513F\u56FD\u6C34\u4E0B\u526F\u672C_\u73CA\u745A6"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6722884338247993433
|
||||
Transform:
|
||||
@@ -68,6 +194,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6475581097579970790}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &3765278913130644654
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2447526579919937863}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 6900722094898584654}
|
||||
_meshRenderer: {fileID: 4270610089866800178}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &6900722094898584654
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -121,28 +262,6 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &1393325988028726257
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2447526579919937863}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: b69272e5e2dbe6241a4c9e399e3b5abf, type: 2}
|
||||
--- !u!1 &3399945531502805491
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -152,6 +271,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1911635272754944718}
|
||||
- component: {fileID: 3139485792799429737}
|
||||
- component: {fileID: 4640167936994541263}
|
||||
- component: {fileID: 5227929924180742837}
|
||||
m_Layer: 0
|
||||
@@ -159,7 +279,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1911635272754944718
|
||||
Transform:
|
||||
@@ -176,6 +296,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6475581097579970790}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &3139485792799429737
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3399945531502805491}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 4640167936994541263}
|
||||
_meshRenderer: {fileID: 5227929924180742837}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &4640167936994541263
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -241,13 +376,12 @@ GameObject:
|
||||
- component: {fileID: 5488941006112743083}
|
||||
- component: {fileID: 1180625791947097650}
|
||||
- component: {fileID: 2609915143205243988}
|
||||
- component: {fileID: 5126396880599206054}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &1084874715169113141
|
||||
Transform:
|
||||
@@ -338,25 +472,3 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &5126396880599206054
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9164986158761498474}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 6f379e8a40ba2064f8dca45a730b4d27, type: 2}
|
||||
|
||||
@@ -9,6 +9,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3146780185303420119}
|
||||
- component: {fileID: 7125255553902160724}
|
||||
- component: {fileID: 2824995113634766611}
|
||||
- component: {fileID: 5555055641851591249}
|
||||
m_Layer: 0
|
||||
@@ -16,7 +17,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3146780185303420119
|
||||
Transform:
|
||||
@@ -33,6 +34,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2394903240699220014}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7125255553902160724
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 978014179154523417}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 2824995113634766611}
|
||||
_meshRenderer: {fileID: 5555055641851591249}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &2824995113634766611
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -95,15 +111,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2683837799112924102}
|
||||
- component: {fileID: 2813073758568219612}
|
||||
- component: {fileID: 630534919124307102}
|
||||
- component: {fileID: 7476672801598629131}
|
||||
- component: {fileID: 9184119827703752546}
|
||||
m_Layer: 0
|
||||
m_Name: "\u9E4F_\u5973\u513F\u56FD\u6C34\u4E0B_\u9752\u94DC\u53F0\u5B50_\u53F0\u5B50"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2683837799112924102
|
||||
Transform:
|
||||
@@ -120,6 +136,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2394903240699220014}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2813073758568219612
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2600613913304579461}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 630534919124307102}
|
||||
_meshRenderer: {fileID: 7476672801598629131}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &630534919124307102
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -173,13 +204,153 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &9184119827703752546
|
||||
--- !u!1 &2877733656238097905
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2394903240699220014}
|
||||
- component: {fileID: 6693818952640549695}
|
||||
m_Layer: 0
|
||||
m_Name: litmodel_1900.bmd
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2394903240699220014
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2877733656238097905}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.4520925, y: 0.4520925, z: 0.4520925}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8381071178979401032}
|
||||
- {fileID: 2575029349172491765}
|
||||
- {fileID: 3146780185303420119}
|
||||
- {fileID: 2683837799112924102}
|
||||
- {fileID: 4023167349951248047}
|
||||
- {fileID: 2250924196899347191}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6693818952640549695
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2877733656238097905}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59e5e7b3dc884d92a21aa09f5a2c208d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_modelPath: litmodels/a61/6/litmodel_1900.bmd
|
||||
_buildingMeshRenderer: {fileID: 483505391458485963, guid: 028823e57276945c4a8c11c1d6067394, type: 3}
|
||||
_halfSpacePrefab: {fileID: 0}
|
||||
--- !u!1 &4054812586826850141
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2250924196899347191}
|
||||
- component: {fileID: 27496454628698759}
|
||||
- component: {fileID: 4818895147758886611}
|
||||
- component: {fileID: 8761252889811093874}
|
||||
m_Layer: 0
|
||||
m_Name: CDBrushCollider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2250924196899347191
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4054812586826850141}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: 0.14449234, z: -0, w: 0.98950595}
|
||||
m_LocalPosition: {x: 1546.2524, y: -90.55273, z: 49.631584}
|
||||
m_LocalScale: {x: 2.211937, y: 2.211937, z: 2.211937}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2394903240699220014}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &27496454628698759
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4054812586826850141}
|
||||
m_Mesh: {fileID: 4300000, guid: 365c467577a8ce44495eb488cd707559, type: 2}
|
||||
--- !u!23 &4818895147758886611
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4054812586826850141}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
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
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &8761252889811093874
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2600613913304579461}
|
||||
m_GameObject: {fileID: 4054812586826850141}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
@@ -194,43 +365,7 @@ MeshCollider:
|
||||
serializedVersion: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 8f2afad8c75ca6f4ba324fcb46caca17, type: 2}
|
||||
--- !u!1 &2877733656238097905
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2394903240699220014}
|
||||
m_Layer: 0
|
||||
m_Name: litmodel_1900.bmd
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2394903240699220014
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2877733656238097905}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.45209253, y: 0.4520925, z: 0.45209253}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8381071178979401032}
|
||||
- {fileID: 2575029349172491765}
|
||||
- {fileID: 3146780185303420119}
|
||||
- {fileID: 2683837799112924102}
|
||||
- {fileID: 4023167349951248047}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_Mesh: {fileID: 4300000, guid: 365c467577a8ce44495eb488cd707559, type: 2}
|
||||
--- !u!1 &4698689582247525187
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -240,6 +375,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4023167349951248047}
|
||||
- component: {fileID: 8385134542884482459}
|
||||
- component: {fileID: 2376797820541088248}
|
||||
- component: {fileID: 9213169097843452526}
|
||||
m_Layer: 0
|
||||
@@ -247,7 +383,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4023167349951248047
|
||||
Transform:
|
||||
@@ -264,6 +400,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2394903240699220014}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8385134542884482459
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4698689582247525187}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 2376797820541088248}
|
||||
_meshRenderer: {fileID: 9213169097843452526}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &2376797820541088248
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -326,6 +477,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2575029349172491765}
|
||||
- component: {fileID: 731803830233352076}
|
||||
- component: {fileID: 1375122347775585271}
|
||||
- component: {fileID: 6940637169590094618}
|
||||
m_Layer: 0
|
||||
@@ -333,7 +485,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2575029349172491765
|
||||
Transform:
|
||||
@@ -350,6 +502,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2394903240699220014}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &731803830233352076
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5963435224617225954}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 1375122347775585271}
|
||||
_meshRenderer: {fileID: 6940637169590094618}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &1375122347775585271
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -420,7 +587,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &8381071178979401032
|
||||
Transform:
|
||||
|
||||
@@ -12,13 +12,12 @@ GameObject:
|
||||
- component: {fileID: 4149584750667810462}
|
||||
- component: {fileID: 5674494537242668376}
|
||||
- component: {fileID: 1146491623373395291}
|
||||
- component: {fileID: 2646111431340310856}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &2477282569958296925
|
||||
Transform:
|
||||
@@ -109,28 +108,6 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!64 &2646111431340310856
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 769742619403843017}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 6529238c4ce20134c928d247351321d5, type: 2}
|
||||
--- !u!1 &1098008835416278253
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -140,15 +117,15 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4063870959951636716}
|
||||
- component: {fileID: 4353931993843523672}
|
||||
- component: {fileID: 1953192204989271153}
|
||||
- component: {fileID: 1941119665291710379}
|
||||
- component: {fileID: 6413472904915345217}
|
||||
m_Layer: 0
|
||||
m_Name: "\u9EC4_\u6DF1\u6D77\u690D\u7269_\u6D77\u87BA"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4063870959951636716
|
||||
Transform:
|
||||
@@ -165,6 +142,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4906358553693921576}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4353931993843523672
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1098008835416278253}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 1953192204989271153}
|
||||
_meshRenderer: {fileID: 1941119665291710379}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &1953192204989271153
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -218,28 +210,6 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &6413472904915345217
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1098008835416278253}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 9b39f19a27a0c5d41866605399824236, type: 2}
|
||||
--- !u!1 &3277439837289325168
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -249,6 +219,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2033314129660300733}
|
||||
- component: {fileID: 8959569428513963700}
|
||||
- component: {fileID: 5030791923722819899}
|
||||
- component: {fileID: 8808115577007227934}
|
||||
m_Layer: 0
|
||||
@@ -256,7 +227,7 @@ GameObject:
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2033314129660300733
|
||||
Transform:
|
||||
@@ -273,6 +244,21 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4906358553693921576}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8959569428513963700
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3277439837289325168}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_meshFilter: {fileID: 5030791923722819899}
|
||||
_meshRenderer: {fileID: 8808115577007227934}
|
||||
_material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2}
|
||||
--- !u!33 &5030791923722819899
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -335,12 +321,13 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4906358553693921576}
|
||||
- component: {fileID: 5642236755686174432}
|
||||
m_Layer: 0
|
||||
m_Name: litmodel_1936.bmd
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 2147483647
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4906358553693921576
|
||||
Transform:
|
||||
@@ -358,5 +345,130 @@ Transform:
|
||||
- {fileID: 2477282569958296925}
|
||||
- {fileID: 2033314129660300733}
|
||||
- {fileID: 4063870959951636716}
|
||||
- {fileID: 119630387473320254}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5642236755686174432
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4224137022612016776}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59e5e7b3dc884d92a21aa09f5a2c208d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_modelPath: litmodels/a61/6/litmodel_1936.bmd
|
||||
_buildingMeshRenderer: {fileID: 483505391458485963, guid: 028823e57276945c4a8c11c1d6067394, type: 3}
|
||||
_halfSpacePrefab: {fileID: 0}
|
||||
--- !u!1 &8683381269437311901
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 119630387473320254}
|
||||
- component: {fileID: 7588284220820280700}
|
||||
- component: {fileID: 1569730407105585027}
|
||||
- component: {fileID: 2122403810583017442}
|
||||
m_Layer: 0
|
||||
m_Name: CDBrushCollider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &119630387473320254
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8683381269437311901}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.0000000015403034, y: 0.80459905, z: -0.0000000011367907, w: 0.59381855}
|
||||
m_LocalPosition: {x: 3.3209138, y: -12.090382, z: -217.43988}
|
||||
m_LocalScale: {x: 0.30777234, y: 0.3077724, z: 0.30777234}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4906358553693921576}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7588284220820280700
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8683381269437311901}
|
||||
m_Mesh: {fileID: 4300000, guid: c4d86c66a7bc42a41a047326db03bd43, type: 2}
|
||||
--- !u!23 &1569730407105585027
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8683381269437311901}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
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
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!64 &2122403810583017442
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8683381269437311901}
|
||||
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: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: c4d86c66a7bc42a41a047326db03bd43, type: 2}
|
||||
|
||||
@@ -125,7 +125,7 @@ MonoBehaviour:
|
||||
Value: -268
|
||||
Center: 20
|
||||
Range: {x: -360, y: 360}
|
||||
Wrap: 1
|
||||
Wrap: 0
|
||||
Recentering:
|
||||
Enabled: 0
|
||||
Wait: 1
|
||||
|
||||
@@ -288,7 +288,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5334235739729266731
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -661,10 +661,10 @@ RectTransform:
|
||||
- {fileID: 2592907577137935010}
|
||||
m_Father: {fileID: 0}
|
||||
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: -760, y: 165.32361}
|
||||
m_SizeDelta: {x: 400, y: 360}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 272, y: -540.1764}
|
||||
m_SizeDelta: {x: 544, y: 691}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4496279422760028947
|
||||
CanvasRenderer:
|
||||
@@ -686,6 +686,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: bac01b5537b4341a7885fe2392d32eaa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
skillNameText: {fileID: 0}
|
||||
imageProgress: {fileID: 0}
|
||||
m_TargetName:
|
||||
m_TargetPos: {x: 0, y: 0, z: 0}
|
||||
m_Targets: []
|
||||
@@ -733,9 +735,9 @@ RectTransform:
|
||||
- {fileID: 5334235739729266731}
|
||||
m_Father: {fileID: 3016039455618517900}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 131.66666, y: -25}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6804128504798270830
|
||||
@@ -759,8 +761,8 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@@ -1197,9 +1199,9 @@ RectTransform:
|
||||
- {fileID: 2700626918252070787}
|
||||
m_Father: {fileID: 3016039455618517900}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 25, y: -25}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &9058123560732067158
|
||||
@@ -1223,8 +1225,8 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@@ -1582,7 +1584,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &2700626918252070787
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1877,9 +1879,9 @@ RectTransform:
|
||||
- {fileID: 8505317987590978995}
|
||||
m_Father: {fileID: 3016039455618517900}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 78.33333, y: -25}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1266149729541302388
|
||||
@@ -1903,8 +1905,8 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
@@ -2057,7 +2059,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &8505317987590978995
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2213,7 +2215,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 260}
|
||||
m_SizeDelta: {x: 0, y: 656}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2700825500503621295
|
||||
CanvasRenderer:
|
||||
@@ -2237,7 +2239,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 0.29803923}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
|
||||
@@ -4,34 +4,21 @@ using UnityEngine.EventSystems;
|
||||
using BrewMonster.Scripts.Task.UI;
|
||||
using System.Collections.Generic;
|
||||
using BrewMonster.UI;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
namespace BrewMonster
|
||||
{
|
||||
public class StyledTaskTraceText : MonoBehaviour, IPointerMoveHandler, IPointerExitHandler,IPointerClickHandler
|
||||
public class StyledTaskTraceText : MonoBehaviour, IPointerMoveHandler,IPointerClickHandler
|
||||
{
|
||||
public enum LinkType
|
||||
{
|
||||
coord,
|
||||
npc,
|
||||
monster,
|
||||
item,
|
||||
target
|
||||
}
|
||||
|
||||
public TMP_Text tmp;
|
||||
private List<LinkCommand> linkCommands =new List<LinkCommand>();
|
||||
int hoveredLink = -1;
|
||||
LinkType linkType = LinkType.coord;
|
||||
Color32 normalColor = new Color32(77, 166, 255, 255);
|
||||
Color32 hoverColor = new Color32(255, 200, 80, 255);
|
||||
public void SetLinkType( LinkType linkType)
|
||||
{
|
||||
this.linkType = linkType;
|
||||
}
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
tmp.raycastTarget = true;
|
||||
ResetLinkColor();
|
||||
tmp.ForceMeshUpdate();
|
||||
}
|
||||
|
||||
@@ -45,22 +32,31 @@ namespace BrewMonster
|
||||
|
||||
if (linkIndex != hoveredLink)
|
||||
{
|
||||
ResetLinkColor();
|
||||
|
||||
hoveredLink = linkIndex;
|
||||
|
||||
if (hoveredLink != -1)
|
||||
SetLinkColor(hoveredLink, hoverColor);
|
||||
}
|
||||
}
|
||||
public void Set(string text)
|
||||
{
|
||||
tmp.text = text;
|
||||
tmp.text = FormatForTextMeshPro(text);
|
||||
}
|
||||
public void OnPointerExit(PointerEventData eventData)
|
||||
public static string FormatForTextMeshPro(string text)
|
||||
{
|
||||
ResetLinkColor();
|
||||
hoveredLink = -1;
|
||||
if (string.IsNullOrEmpty(text))
|
||||
return string.Empty;
|
||||
|
||||
StringBuilder result = new StringBuilder(text);
|
||||
result.Replace("\\r", "\n");
|
||||
return ProcessColorCodes(result);
|
||||
}
|
||||
|
||||
public static string ProcessColorCodes(StringBuilder text)
|
||||
{
|
||||
string pattern = @"\^([0-9A-Fa-f]{6})";
|
||||
return Regex.Replace(text.ToString(), pattern, match =>
|
||||
{
|
||||
string hexColor = match.Groups[1].Value;
|
||||
return $"<color=#{hexColor}>";
|
||||
}, RegexOptions.None);
|
||||
}
|
||||
|
||||
public void AddToFirstPosition(LinkCommand linkCommand)
|
||||
@@ -110,34 +106,27 @@ namespace BrewMonster
|
||||
|
||||
public void OnPointerClick(PointerEventData eventData)
|
||||
{
|
||||
if (hoveredLink == -1) return;
|
||||
|
||||
TMP_LinkInfo linkInfo = tmp.textInfo.linkInfo[hoveredLink];
|
||||
string linkText = linkInfo.GetLinkText();
|
||||
string entityID = linkInfo.GetLinkID();
|
||||
switch (linkType)
|
||||
switch (entityID)
|
||||
{
|
||||
case LinkType.coord:
|
||||
Debug.Log($"Clicked coord link: ID={entityID} Type={linkType} Text={linkText}");
|
||||
case "coord":
|
||||
linkCommands[hoveredLink].Execute(tmp);
|
||||
//Debug.Log($"[StyledTaskTraceText] OnPointerClick: linkCommands[hoveredLink].Execute(tmp) => {linkCommands[hoveredLink].Execute(tmp)}");
|
||||
break;
|
||||
case LinkType.npc:
|
||||
Debug.Log($"Clicked npc link: ID={entityID} Type={linkType} Text={linkText}");
|
||||
case "npc":
|
||||
linkCommands[hoveredLink].Execute(tmp);
|
||||
break;
|
||||
case LinkType.monster:
|
||||
Debug.Log($"Clicked monster link: ID={entityID} Type={linkType} Text={linkText}");
|
||||
case "monster":
|
||||
break;
|
||||
default:
|
||||
Debug.Log($"Clicked unknown link: ID={entityID} Text={linkText}");
|
||||
break;
|
||||
}
|
||||
ResetLinkColor();
|
||||
hoveredLink = -1;
|
||||
}
|
||||
|
||||
void ResetLinkColor()
|
||||
{
|
||||
if (hoveredLink == -1) return;
|
||||
SetLinkColor(hoveredLink, normalColor);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -50,9 +50,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 8688b7d87bac4c16b9eaa3408f8ea419, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_pTreeItemPrefab_Deep1: {fileID: 4314770845850481090, guid: 8752f9e95e4124abfb0d46a2cbe805e4, type: 3}
|
||||
m_pTreeItemPrefab_Deep2: {fileID: 4314770845850481090, guid: 3cb6791423916496ea0a5b059419fdaa, type: 3}
|
||||
m_pTreeItemPrefab_Deep3: {fileID: 4314770845850481090, guid: 7b4ec3e05f31a45138f72011c6bf7cf2, type: 3}
|
||||
m_pTreeViewHolder: {fileID: 1273901548777618454, guid: 8bc89f863b5ec42b49f149d7363144f3, type: 3}
|
||||
_currentSelectedItem: {fileID: 0}
|
||||
m_aTreeViewItems: []
|
||||
--- !u!114 &6404897883559725565
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &700152255263326765
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5053903421260846465}
|
||||
- component: {fileID: 4986645933044111193}
|
||||
- component: {fileID: 1062363862839909147}
|
||||
- component: {fileID: 1273901548777618454}
|
||||
- component: {fileID: 442295838974077123}
|
||||
m_Layer: 5
|
||||
m_Name: TreeViewHolder
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5053903421260846465
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 700152255263326765}
|
||||
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}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 312.2704, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &4986645933044111193
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 700152255263326765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 1
|
||||
--- !u!114 &1062363862839909147
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 700152255263326765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 1
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &1273901548777618454
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 700152255263326765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dfe78f833120b411d915fcd9c9793515, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_pTreeItemPrefab_Deep1: {fileID: 4314770845850481090, guid: 8752f9e95e4124abfb0d46a2cbe805e4, type: 3}
|
||||
m_pTreeItemPrefab_Deep2: {fileID: 4314770845850481090, guid: 3cb6791423916496ea0a5b059419fdaa, type: 3}
|
||||
m_pTreeItemPrefab_Deep3: {fileID: 4314770845850481090, guid: 7b4ec3e05f31a45138f72011c6bf7cf2, type: 3}
|
||||
m_uItemData: 0
|
||||
_treeLevel: 0
|
||||
isLastItem: 1
|
||||
_itemTextColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
_itemText:
|
||||
_expand: 0
|
||||
--- !u!222 &442295838974077123
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 700152255263326765}
|
||||
m_CullTransparentMesh: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8bc89f863b5ec42b49f149d7363144f3
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -218,10 +218,10 @@ RectTransform:
|
||||
- {fileID: 5827054231092576763}
|
||||
m_Father: {fileID: 2024997316782034639}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 200.71739, y: -45.5}
|
||||
m_SizeDelta: {x: 224.56522, y: 91}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2230410216357545400
|
||||
CanvasRenderer:
|
||||
@@ -599,10 +599,10 @@ RectTransform:
|
||||
- {fileID: 5340186735755952146}
|
||||
m_Father: {fileID: 2024997316782034639}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 45, y: -45}
|
||||
m_SizeDelta: {x: 150, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &885853373149276158
|
||||
CanvasRenderer:
|
||||
@@ -661,7 +661,7 @@ MonoBehaviour:
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Transition: 0
|
||||
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}
|
||||
@@ -773,7 +773,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7973684205123875483}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
|
||||
@@ -63,12 +63,13 @@ MonoBehaviour:
|
||||
_expandBG: {fileID: 6073336955970910715}
|
||||
ExpandBGActive: {fileID: 21300000, guid: 42074c4f5f76b4cbc9043df8f430af5f, type: 3}
|
||||
ExpandBGInactive: {fileID: 21300000, guid: e09a5d2cb3c3f4c858754a1e90a44abd, type: 3}
|
||||
m_uItemData: 0
|
||||
_treeLevel: 0
|
||||
isLastItem: 0
|
||||
_rectTransform: {fileID: 0}
|
||||
OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
OnExpand:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &4986645933044111193
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -143,10 +144,10 @@ RectTransform:
|
||||
- {fileID: 5827054231092576763}
|
||||
m_Father: {fileID: 2024997316782034639}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 184.67392, y: -33}
|
||||
m_SizeDelta: {x: 220.65218, y: 66}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2230410216357545400
|
||||
CanvasRenderer:
|
||||
@@ -175,7 +176,7 @@ MonoBehaviour:
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Transition: 0
|
||||
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}
|
||||
@@ -522,10 +523,10 @@ RectTransform:
|
||||
- {fileID: 5062486824527634889}
|
||||
m_Father: {fileID: 2024997316782034639}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 45.673943, y: -32}
|
||||
m_SizeDelta: {x: 135.3478, y: 80}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &885853373149276158
|
||||
CanvasRenderer:
|
||||
@@ -681,7 +682,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7973684205123875483}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
|
||||
@@ -143,10 +143,10 @@ RectTransform:
|
||||
- {fileID: 5827054231092576763}
|
||||
m_Father: {fileID: 2024997316782034639}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 149.49998, y: -30}
|
||||
m_SizeDelta: {x: 281, y: 60}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2230410216357545400
|
||||
CanvasRenderer:
|
||||
@@ -254,8 +254,8 @@ RectTransform:
|
||||
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.00000023841858}
|
||||
m_AnchoredPosition: {x: 35, y: 0}
|
||||
m_SizeDelta: {x: -70, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5842649278580849339
|
||||
CanvasRenderer:
|
||||
@@ -390,8 +390,8 @@ RectTransform:
|
||||
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.00048828125, y: 0}
|
||||
m_SizeDelta: {x: 48, y: 48}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 25, y: 25}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7099288759002186546
|
||||
CanvasRenderer:
|
||||
@@ -415,13 +415,13 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 00976b2e066af4e1f85ff5f3c94b5d48, type: 3}
|
||||
m_Sprite: {fileID: -1288565630, guid: 00976b2e066af4e1f85ff5f3c94b5d48, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
@@ -522,10 +522,10 @@ RectTransform:
|
||||
- {fileID: 5062486824527634889}
|
||||
m_Father: {fileID: 2024997316782034639}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 45, y: -27}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &885853373149276158
|
||||
CanvasRenderer:
|
||||
@@ -549,13 +549,13 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 00976b2e066af4e1f85ff5f3c94b5d48, type: 3}
|
||||
m_Sprite: {fileID: -1288565630, guid: 00976b2e066af4e1f85ff5f3c94b5d48, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
@@ -681,7 +681,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7973684205123875483}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
|
||||
@@ -60,14 +60,14 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.14578143, g: 0.7924528, b: 0.1864423, a: 1}
|
||||
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: 0}
|
||||
m_Sprite: {fileID: 21300000, guid: 3f3e9e002b211764587ebda4073a9fa8, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
@@ -146,17 +146,17 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1448650841350251410}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 8578995796031649400}
|
||||
m_Father: {fileID: 4385973065753450966}
|
||||
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: 84}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 3.4185944, y: 0}
|
||||
m_SizeDelta: {x: -6.8372, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7931617368933511578
|
||||
CanvasRenderer:
|
||||
@@ -186,17 +186,17 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: MessageBox
|
||||
m_text: "Th\xF4ng b\xE1o"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
@@ -257,6 +257,156 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &1637812686023826163
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7884867221660726897}
|
||||
- component: {fileID: 1991626257239895938}
|
||||
- component: {fileID: 7826399543152972279}
|
||||
m_Layer: 5
|
||||
m_Name: HiddenBG
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7884867221660726897
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1637812686023826163}
|
||||
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: 8578995796031649400}
|
||||
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 &1991626257239895938
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1637812686023826163}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7826399543152972279
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1637812686023826163}
|
||||
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, g: 0, b: 0, a: 0.5058824}
|
||||
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 &2756004224914197157
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1307868009287359000}
|
||||
- component: {fileID: 3895986222254116630}
|
||||
- component: {fileID: 7645532389658545970}
|
||||
m_Layer: 5
|
||||
m_Name: hitbox
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1307868009287359000
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2756004224914197157}
|
||||
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: 1876747693836630426}
|
||||
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: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3895986222254116630
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2756004224914197157}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7645532389658545970
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2756004224914197157}
|
||||
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: 0.003921569}
|
||||
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 &3318234767486795022
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -324,15 +474,15 @@ MonoBehaviour:
|
||||
m_Calls: []
|
||||
m_text: "\u0110\u1ED3ng \xDD(Y)"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
rgba: 4290571256
|
||||
m_fontColor: {r: 0.9725491, g: 0.9215687, b: 0.7372549, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
@@ -349,12 +499,12 @@ MonoBehaviour:
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 44.25
|
||||
m_fontSize: 25
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 1
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontSizeMax: 25
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
@@ -417,19 +567,19 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4140524140714306011}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 4915293664251870536}
|
||||
- {fileID: 7906706137011413807}
|
||||
m_Father: {fileID: 8578995796031649400}
|
||||
m_Father: {fileID: 9094714545324204474}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 41.609}
|
||||
m_SizeDelta: {x: 0, y: 83.217}
|
||||
m_AnchoredPosition: {x: 0, y: 92.690155}
|
||||
m_SizeDelta: {x: 0, y: 185.3804}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &6567280976245013390
|
||||
MonoBehaviour:
|
||||
@@ -449,7 +599,7 @@ MonoBehaviour:
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 4
|
||||
m_Spacing: 11.43
|
||||
m_Spacing: 46.9
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 0
|
||||
@@ -517,14 +667,14 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.14578143, g: 0.7924528, b: 0.1864423, a: 1}
|
||||
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: 0}
|
||||
m_Sprite: {fileID: 21300000, guid: 3f3e9e002b211764587ebda4073a9fa8, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
@@ -603,17 +753,17 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5199518178703117250}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 8578995796031649400}
|
||||
m_Father: {fileID: 9094714545324204474}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 50}
|
||||
m_AnchoredPosition: {x: 0, y: 15.4617}
|
||||
m_SizeDelta: {x: -100, y: 326.1666}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &655909173274991632
|
||||
CanvasRenderer:
|
||||
@@ -643,19 +793,17 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: 'Content
|
||||
|
||||
'
|
||||
m_text:
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
rgba: 4290834686
|
||||
m_fontColor: {r: 0.9960785, g: 0.94117653, b: 0.75294125, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
@@ -672,12 +820,12 @@ MonoBehaviour:
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 44.75
|
||||
m_fontSize: 30
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 1
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontSizeMax: 30
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
@@ -688,7 +836,7 @@ MonoBehaviour:
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
@@ -726,7 +874,6 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 8578995796031649400}
|
||||
- component: {fileID: 2243330050876855902}
|
||||
- component: {fileID: 3372223705930781376}
|
||||
- component: {fileID: 1069295583529170983}
|
||||
m_Layer: 5
|
||||
m_Name: MessageBox
|
||||
@@ -747,9 +894,8 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1931146730219979515}
|
||||
- {fileID: 6428994832978992641}
|
||||
- {fileID: 2782318616460798463}
|
||||
- {fileID: 7884867221660726897}
|
||||
- {fileID: 9094714545324204474}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
@@ -765,36 +911,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5492547392745930423}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3372223705930781376
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5492547392745930423}
|
||||
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: 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!114 &1069295583529170983
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -807,10 +923,13 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 6672523dc3dacfa46b2104f504acdb6e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
skillNameText: {fileID: 0}
|
||||
imageProgress: {fileID: 0}
|
||||
titleText: {fileID: 5031655611580643013}
|
||||
messageText: {fileID: 7448521238108099750}
|
||||
okButton: {fileID: 7766051278568089760}
|
||||
_noButton: {fileID: 7010901635634620631}
|
||||
_closeButton: {fileID: 0}
|
||||
--- !u!1 &5664175764923475105
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -878,15 +997,15 @@ MonoBehaviour:
|
||||
m_Calls: []
|
||||
m_text: "H\u1EE7y(N)"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
rgba: 4290571256
|
||||
m_fontColor: {r: 0.9725491, g: 0.9215687, b: 0.7372549, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
@@ -903,12 +1022,12 @@ MonoBehaviour:
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 50.3
|
||||
m_fontSize: 25
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 1
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontSizeMax: 25
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
@@ -947,3 +1066,279 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &6736111909663914576
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9094714545324204474}
|
||||
- component: {fileID: 7569923820655471568}
|
||||
- component: {fileID: 6612964713443770349}
|
||||
m_Layer: 5
|
||||
m_Name: BG
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &9094714545324204474
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6736111909663914576}
|
||||
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: 4385973065753450966}
|
||||
- {fileID: 6428994832978992641}
|
||||
- {fileID: 2782318616460798463}
|
||||
- {fileID: 1876747693836630426}
|
||||
m_Father: {fileID: 8578995796031649400}
|
||||
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: 22.8, y: 43.7}
|
||||
m_SizeDelta: {x: 796, y: 564}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7569923820655471568
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6736111909663914576}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6612964713443770349
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6736111909663914576}
|
||||
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: 21300000, guid: 6d3e1de5b0b9eec47930f9f2dc926d84, type: 3}
|
||||
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 &8905388490714302238
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4385973065753450966}
|
||||
- component: {fileID: 4298957829474164482}
|
||||
- component: {fileID: 3961222653569502436}
|
||||
m_Layer: 5
|
||||
m_Name: TittleBG
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4385973065753450966
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8905388490714302238}
|
||||
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: 1931146730219979515}
|
||||
m_Father: {fileID: 9094714545324204474}
|
||||
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: 273.9}
|
||||
m_SizeDelta: {x: 463, y: 54}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4298957829474164482
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8905388490714302238}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3961222653569502436
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8905388490714302238}
|
||||
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: 21300000, guid: 50648e5dab4e12f44bbbdac9313e24a4, type: 3}
|
||||
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 &8968086720955217913
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1876747693836630426}
|
||||
- component: {fileID: 6688289751329567051}
|
||||
- component: {fileID: 8705222398274861452}
|
||||
- component: {fileID: 482550456836939169}
|
||||
m_Layer: 5
|
||||
m_Name: CloseBtn
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1876747693836630426
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8968086720955217913}
|
||||
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: 1307868009287359000}
|
||||
m_Father: {fileID: 9094714545324204474}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -45.6, y: -37.1}
|
||||
m_SizeDelta: {x: 58, y: 58}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6688289751329567051
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8968086720955217913}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &8705222398274861452
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8968086720955217913}
|
||||
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: 21300000, guid: fb2f2f58be45f6e4890e85cc00b0bcc9, type: 3}
|
||||
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!114 &482550456836939169
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8968086720955217913}
|
||||
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: 0
|
||||
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: 8705222398274861452}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
|
||||
@@ -11,6 +11,8 @@ GameObject:
|
||||
- component: {fileID: 8674390294668887183}
|
||||
- component: {fileID: 3282628128517699183}
|
||||
- component: {fileID: 1815773137787350266}
|
||||
- component: {fileID: 2333337703901939250}
|
||||
- component: {fileID: 4352052582615766499}
|
||||
m_Layer: 5
|
||||
m_Name: iconPassive
|
||||
m_TagString: Untagged
|
||||
@@ -76,6 +78,69 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &2333337703901939250
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5742955024492215839}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ec4a1ef2b59484440ba114ebd4f9611b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
skillbutton: {fileID: 0}
|
||||
skillImage: {fileID: 7887565863755557202}
|
||||
borderImage: {fileID: 0}
|
||||
cooldownTime: 0
|
||||
m_ClockCounter: {fileID: 0}
|
||||
learnedSkillbutton: {fileID: 4352052582615766499}
|
||||
wButton: {fileID: 0}
|
||||
--- !u!114 &4352052582615766499
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5742955024492215839}
|
||||
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: 1815773137787350266}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &6638027642728938890
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -45,3 +45,5 @@ MonoBehaviour:
|
||||
prefab: {fileID: 5492547392745930423, guid: 54cccb2c6a758a24183474cd385ccb2c, type: 3}
|
||||
- id: CDlgInfoTooltip
|
||||
prefab: {fileID: 6830833846243993097, guid: 97dd1de3aba08a04980849e40d5c1ea4, type: 3}
|
||||
- id: MagicProgress1
|
||||
prefab: {fileID: 1126053271199039253, guid: 526d462bd8c87b74c9e461e80d028cb2, type: 3}
|
||||
|
||||
@@ -49,7 +49,7 @@ TextureImporter:
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteBorder: {x: 30, y: 0, z: 30, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
@@ -106,6 +106,19 @@ TextureImporter:
|
||||
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: []
|
||||
@@ -114,7 +127,7 @@ TextureImporter:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
|
||||
|
After Width: | Height: | Size: 6.6 KiB |
@@ -0,0 +1,143 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38a6d63e773d7464f843e0e642e89113
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
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: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
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: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
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: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 3.2 MiB |
@@ -0,0 +1,143 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f5de54195981b12408e6a1f4213e0495
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
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: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
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: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
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: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
@@ -0,0 +1,143 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9ad281c6ab25374ca6ab28ad5c71ef5
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
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: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
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: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
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: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,143 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 586068729c8d28d46af33f6a95254fb6
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
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: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
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: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
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: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 6.5 KiB |
@@ -0,0 +1,143 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d486c1a0638721144aa65a9050ecc563
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
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: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
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: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
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: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
@@ -106,6 +106,19 @@ TextureImporter:
|
||||
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: []
|
||||
@@ -43,7 +43,7 @@ TextureImporter:
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteMode: 2
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
@@ -108,7 +108,29 @@ TextureImporter:
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: dot_0
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 2
|
||||
y: 4
|
||||
width: 20
|
||||
height: 20
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 4daa99dcd797c4c14abcb146f46af16e
|
||||
internalID: -1288565630
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
@@ -122,7 +144,8 @@ TextureImporter:
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
nameFileIdTable:
|
||||
dot_0: -1288565630
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eadad766c90d9a2f8f33468f1b6b21e6fd78e55f555200887eb9f6198720424a
|
||||
size 76688
|
||||
oid sha256:bd882a6bec1d1d08efbd9107424f7cb7514358179a64cc2bbd09ee3eeada2c30
|
||||
size 107449
|
||||
|
||||
@@ -21,6 +21,9 @@ namespace BrewMonster
|
||||
void OnEnable()
|
||||
{
|
||||
Instance = this;
|
||||
#if UNITY_EDITOR
|
||||
speedX = 500;
|
||||
#endif
|
||||
}
|
||||
|
||||
public void OnDrag(PointerEventData eventData)
|
||||
@@ -31,7 +34,7 @@ namespace BrewMonster
|
||||
{
|
||||
orbital.HorizontalAxis.Value += delta.normalized.x * speedX * Time.deltaTime;
|
||||
//orbital.HorizontalAxis.Value = Mathf.Clamp(orbital.HorizontalAxis.Value, -360f, 360f);
|
||||
orbital.VerticalAxis.Value += delta.normalized.y * speedY * Time.deltaTime;
|
||||
orbital.VerticalAxis.Value -= delta.normalized.y * speedY * Time.deltaTime;
|
||||
orbital.VerticalAxis.Value = Mathf.Clamp(orbital.VerticalAxis.Value, -360f, 360f);
|
||||
}
|
||||
currentPos = eventData.position;
|
||||
|
||||
@@ -628,8 +628,7 @@ public static class generate_item_temp
|
||||
|
||||
WriteInt(data, ref offset, (int)(sub_type.equip_mask|(addon_num>0?0x40000000:0))); //��Ʒ�Ŀ�װ����־
|
||||
WriteUInt(data, ref offset, ess.proc_type); //��Ʒ�Ĵ�����ʽ
|
||||
WriteInt(data, ref offset, (int)DATA_TYPE.DT_DECORATION_ESSENCE); //��Ʒ��Ӧ�����ID
|
||||
WriteInt(data, ref offset, (int)DATA_TYPE.DT_DECORATION_ESSENCE); //��Ʒ��Ӧ�����ID
|
||||
WriteInt(data, ref offset, (int)DATA_TYPE.DT_DECORATION_ESSENCE); //��Ʒ��Ӧ�����ID
|
||||
if(ess.has_guid == 1){
|
||||
int g1,g2;
|
||||
itemdataman.get_item_guid(id,out g1,out g2);
|
||||
@@ -648,7 +647,7 @@ public static class generate_item_temp
|
||||
WriteInt(data, ref offset, 0);
|
||||
int item_content = offset;
|
||||
WriteInt(data, ref offset, 0);
|
||||
content_length = (int)(size - offset);
|
||||
content_length = (int)(size - offset);
|
||||
WriteInt(data, ref content_length_ptr, content_length);
|
||||
WriteInt(data, ref item_content, offset);
|
||||
|
||||
|
||||
@@ -639,7 +639,7 @@ namespace BrewMonster.Common
|
||||
UnityGameSession.Instance.GameSession.c2s_SendCmdCancelAction();
|
||||
}
|
||||
}
|
||||
void SendCmdPetCtrl(int idTarget, int cmd, byte[] pParamBuf, int iParamLen)
|
||||
public void SendCmdPetCtrl(int idTarget, int cmd, byte[] pParamBuf, int iParamLen)
|
||||
{
|
||||
CECCounter pCnt = m_CounterMap[(int)CommandID.PET_CTRL];
|
||||
if (pCnt.IsFull())
|
||||
|
||||
@@ -317,7 +317,7 @@ namespace BrewMonster
|
||||
bAtk_NoForce = false;
|
||||
bBls_NoForce = false;
|
||||
bLockQuickBar = false;
|
||||
bPetAutoSkill = false;
|
||||
bPetAutoSkill = true;
|
||||
bAutoTeamForTask = true;
|
||||
bDisableAutoWikiHelp = false;
|
||||
bExclusiveAwardMode = true;
|
||||
|
||||
@@ -2899,12 +2899,15 @@ namespace BrewMonster
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
|
||||
public ushort[] name; // name, max 15 characters
|
||||
public string Name => ByteToStringUtils.UshortArrayToCP936String(name);
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
|
||||
public byte[] file_model; // model path
|
||||
public string FileModel => ByteToStringUtils.ByteArrayToUnicodeString(file_model);
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
|
||||
public byte[] file_icon; // icon file
|
||||
public string FileIcon => ByteToStringUtils.ByteArrayToUnicodeString(file_icon );
|
||||
|
||||
public uint character_combo_id; // character combo id
|
||||
|
||||
@@ -5029,7 +5032,7 @@ namespace BrewMonster
|
||||
public int[] num_evolve; // evolution items
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||||
public int[,] num_inherit; // inheritance parameters
|
||||
public int[] num_inherit; // inheritance parameters
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||||
public int[] num_rand_skill; // random skill parameters
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
using BrewMonster;
|
||||
using BrewMonster.Scripts.Task;
|
||||
using CSNetwork;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using ModelRenderer.Scripts.GameData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using UnityEngine.ResourceManagement.AsyncOperations;
|
||||
using CSNetwork.GPDataType;
|
||||
|
||||
namespace BrewMonster.Network
|
||||
{
|
||||
public partial class EC_Game
|
||||
@@ -34,6 +38,7 @@ namespace BrewMonster.Network
|
||||
private static Dictionary<int, ItemMsgMapEntry> m_ItemMsgMap; // TemplateId -> (MessageId, DisplayMode)
|
||||
private static CECConfigs m_pConfigs;
|
||||
private static int m_iCurCursor; // Current cursor
|
||||
private static List<int> m_PetAutoSkills = new List<int>();
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -132,7 +137,7 @@ namespace BrewMonster.Network
|
||||
// Load coord_data.txt (C++: Configs/Coord_data.txt) for clickable task links auto-move.
|
||||
// 加载 coord_data.txt(C++:Configs/Coord_data.txt)用于任务可点击链接的自动移动。
|
||||
LoadObjectCoord();
|
||||
|
||||
LoadPetAutoSkill();
|
||||
return true;
|
||||
}
|
||||
public static CECConfigs GetConfigs() { return m_pConfigs; }
|
||||
@@ -527,7 +532,6 @@ namespace BrewMonster.Network
|
||||
|
||||
public static int GetObjectCoord(string strTargetID, ref List<OBJECT_COORD> TargetCoord)
|
||||
{
|
||||
|
||||
int count = 0;
|
||||
foreach(var coord in TargetCoord)
|
||||
{
|
||||
@@ -541,6 +545,73 @@ namespace BrewMonster.Network
|
||||
return count;
|
||||
}
|
||||
|
||||
public static bool IsPetAutoSkill(int skill_id)
|
||||
{
|
||||
return m_PetAutoSkills.Contains(skill_id);
|
||||
}
|
||||
|
||||
// Load the pet auto skill table
|
||||
public static async UniTask<bool> LoadPetAutoSkill()
|
||||
{
|
||||
string pszFilename = "Assets/Addressable/petautoskill.txt";
|
||||
var ta = await LoadStringTableTextAssetByAddressables(pszFilename);
|
||||
if (ta == null || string.IsNullOrEmpty(ta.text))
|
||||
{
|
||||
BMLogger.LogError($"[AUIManager] ImportStringTable failed: cannot load Addressables TextAsset for key='{pszFilename}'");
|
||||
return false;
|
||||
}
|
||||
|
||||
using (var sr = new StringReader(ta.text))
|
||||
{
|
||||
string line;
|
||||
while ((line = sr.ReadLine()) != null)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(line))
|
||||
continue;
|
||||
|
||||
if (int.TryParse(line, out int key))
|
||||
{
|
||||
m_PetAutoSkills.Add(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static async UniTask<TextAsset> LoadStringTableTextAssetByAddressables(string key)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Initialize Addressables if not already initialized (Unity-safe)
|
||||
await Addressables.InitializeAsync().ToUniTask();
|
||||
|
||||
// Load using Addressables directly with WaitForCompletion (Unity-safe, won't deadlock)
|
||||
// This matches the pattern used in EC_Game.cs
|
||||
var handle = Addressables.LoadAssetAsync<TextAsset>(key);
|
||||
var textAsset = await handle.ToUniTask();
|
||||
|
||||
if (handle.Status == AsyncOperationStatus.Succeeded && textAsset != null)
|
||||
{
|
||||
// Keep the handle valid; string tables are used for the whole session
|
||||
// Note: We don't release the handle here to keep the asset loaded
|
||||
return textAsset;
|
||||
}
|
||||
|
||||
if (handle.IsValid())
|
||||
{
|
||||
Addressables.Release(handle);
|
||||
}
|
||||
|
||||
BMLogger.LogError($"[AUIManager] Failed to load TextAsset for key='{key}'");
|
||||
return null;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
BMLogger.LogError($"[AUIManager] LoadStringTableTextAssetByAddressables exception for key='{key}': {e}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -470,6 +470,7 @@ public class CECNPCMan : IMsgHandler
|
||||
if (npc != null)
|
||||
{
|
||||
m_NPCTab.Remove(Info.nid);
|
||||
GameObject.Destroy(npc.gameObject);
|
||||
}
|
||||
|
||||
// Nếu id này có trong bảng unknown thì xóa nó
|
||||
@@ -558,7 +559,7 @@ public class CECNPCMan : IMsgHandler
|
||||
}
|
||||
if (bPet)
|
||||
{
|
||||
//pNPC = new CECPet(this);
|
||||
pNPC = CECGameRun.Instance.GetPet();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -570,7 +571,9 @@ public class CECNPCMan : IMsgHandler
|
||||
case DATA_TYPE.DT_MONSTER_ESSENCE:
|
||||
pNPC = CECGameRun.Instance.GetMonster();
|
||||
break;
|
||||
case DATA_TYPE.DT_PET_ESSENCE:/* pNPC = new CECPet(this);*/ break;
|
||||
case DATA_TYPE.DT_PET_ESSENCE:
|
||||
pNPC = CECGameRun.Instance.GetPet();
|
||||
break;
|
||||
default:
|
||||
UnityEngine.Debug.Assert(false, "Invalid DATA_TYPE in CreateNPC");
|
||||
return null;
|
||||
|
||||
@@ -67,7 +67,20 @@ namespace BrewMonster.Scripts
|
||||
m_pWorkMan = pWorkMan;
|
||||
m_pHost = pWorkMan.GetHostPlayer();
|
||||
}
|
||||
public virtual bool Tick(float dwDeltaTime)
|
||||
{
|
||||
if (m_bFirstTick)
|
||||
{
|
||||
m_bFirstTick = false;
|
||||
OnFirstTick();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
protected virtual void OnFirstTick()
|
||||
{
|
||||
base.OnFirstTick();
|
||||
}
|
||||
// Operations
|
||||
// Override from CECObjectWork
|
||||
public override void Cancel()
|
||||
@@ -497,7 +510,8 @@ namespace BrewMonster.Scripts
|
||||
}
|
||||
public void StartDelayedWork()
|
||||
{
|
||||
if (!HasDelayedWork()){
|
||||
if (!HasDelayedWork())
|
||||
{
|
||||
return;
|
||||
}
|
||||
CECHPWork pWork = m_Delayed.pWork;
|
||||
@@ -511,7 +525,8 @@ namespace BrewMonster.Scripts
|
||||
}
|
||||
public void ClearDelayedWork()
|
||||
{
|
||||
if (!HasDelayedWork()){
|
||||
if (!HasDelayedWork())
|
||||
{
|
||||
return;
|
||||
}
|
||||
// LOG_DEBUG_INFO(AString().Format("delayed CECHPWork::%s priority=%d cleared", m_Delayed.pWork->GetWorkName(), m_Delayed.iPriority));
|
||||
@@ -608,7 +623,7 @@ namespace BrewMonster.Scripts
|
||||
case CECHPWork.Host_work_ID.WORK_FREEFALL: pWork = new CECHPWorkFall(this); break;
|
||||
//case CECHPWork.Host_work_ID.WORK_SIT: pWork = new CECHPWorkSit(this); break;
|
||||
case CECHPWork.Host_work_ID.WORK_PICKUP: pWork = new EC_HPWorkPick(this); break;
|
||||
//case CECHPWork.Host_work_ID.WORK_CONCENTRATE: pWork = new CECHPWorkConcentrate(this); break;
|
||||
case CECHPWork.Host_work_ID.WORK_CONCENTRATE: pWork = new CECHPWorkConcentrate(this); break;
|
||||
//case CECHPWork.Host_work_ID.WORK_REVIVE: pWork = new CECHPWorkRevive(this); break;
|
||||
case CECHPWork.Host_work_ID.WORK_FLASHMOVE: pWork = new CECHPWorkFMove(this); break;
|
||||
//case CECHPWork.Host_work_ID.WORK_BEBOUND: pWork = new CECHPWorkBeBound(this); break;
|
||||
@@ -622,7 +637,6 @@ namespace BrewMonster.Scripts
|
||||
|
||||
return pWork;
|
||||
}
|
||||
|
||||
public bool CanStartWork(int iWorkID, int iPriority = CECHPWorkMan.Work_priority.PRIORITY_1)
|
||||
{
|
||||
if (!ValidatePriority(iPriority))
|
||||
@@ -847,29 +861,34 @@ namespace BrewMonster.Scripts
|
||||
}
|
||||
|
||||
public bool IsMoving()
|
||||
{
|
||||
{
|
||||
bool result = false;
|
||||
if (ValidatePriority(m_iCurPriority))
|
||||
if (ValidatePriority(m_iCurPriority))
|
||||
{
|
||||
WorkList workList = m_WorkStack[m_iCurPriority];
|
||||
if(workList != null)
|
||||
WorkList workList = m_WorkStack[m_iCurPriority];
|
||||
if (workList != null)
|
||||
{
|
||||
for (int i = 0; i < workList.Count; ++ i)
|
||||
for (int i = 0; i < workList.Count; ++i)
|
||||
{
|
||||
if (workList[i].IsMoving())
|
||||
if (workList[i].IsMoving())
|
||||
{
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool IsFreeFalling()
|
||||
{
|
||||
return IsWorkRunning(Host_work_ID.WORK_FREEFALL);
|
||||
return IsWorkRunning(Host_work_ID.WORK_FREEFALL);
|
||||
}
|
||||
|
||||
public bool IsOperatingPet()
|
||||
{
|
||||
return IsWorkRunning(Host_work_ID.WORK_CONCENTRATE);
|
||||
}
|
||||
}
|
||||
public abstract class CECHPWorkPostTickCommand
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
using BrewMonster.Scripts;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BrewMonster.Scripts
|
||||
{
|
||||
public class CECHPWorkConcentrate : CECHPWork
|
||||
{
|
||||
int m_iDoWhat;
|
||||
|
||||
public CECHPWorkConcentrate(CECHPWorkMan pWorkMan) : base(Host_work_ID.WORK_CONCENTRATE, pWorkMan)
|
||||
{
|
||||
m_dwMask = Work_mask.MASK_CONCENTRATE;
|
||||
m_dwTransMask = Work_mask.MASK_STAND;
|
||||
m_iDoWhat = (int)eDO_PET.DO_SUMMONPET;
|
||||
|
||||
Reset();
|
||||
}
|
||||
|
||||
public override bool CopyData(CECHPWork pWork)
|
||||
{
|
||||
if (base.CopyData(pWork))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
CECHPWorkConcentrate pSrc = (CECHPWorkConcentrate)pWork;
|
||||
m_iDoWhat = pSrc.m_iDoWhat;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
}
|
||||
|
||||
public override bool Tick(float dwDeltaTime)
|
||||
{
|
||||
base.Tick(Time.fixedUnscaledTime);
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override void OnFirstTick()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public enum eDO_PET
|
||||
{
|
||||
DO_SUMMONPET = 0, // Summon pet
|
||||
DO_RECALLPET,
|
||||
DO_BANISHPET,
|
||||
DO_RESTOREPET,
|
||||
DO_UNKNOWN,
|
||||
};
|
||||
|
||||
// Set / Get do what flag
|
||||
public void SetDoWhat(int iDoWhat) { m_iDoWhat = iDoWhat; }
|
||||
public int GetDoWhat() { return m_iDoWhat; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 126c0de4ea802b14fa540a689899e007
|
||||
@@ -714,7 +714,6 @@ namespace BrewMonster.Scripts
|
||||
}
|
||||
|
||||
vCurPos = m_pHost.m_MoveCtrl.GroundMove(EC_Utility.ToA3DVECTOR3(vMoveDir), fSpeed, fDeltaTime, m_pHost.m_fVertSpeed);
|
||||
//Debug.LogError("vCurPos =" + vCurPos);
|
||||
m_pHost.SetPos(EC_Utility.ToVector3(vCurPos));
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
using CSNetwork.GPDataType;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
using static BrewMonster.Scripts.CECHPWorkSpell.Spell_magic_state;
|
||||
namespace BrewMonster.Scripts
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -16,6 +19,7 @@ namespace BrewMonster.Scripts
|
||||
|
||||
public CECHPWorkSpell(CECHPWorkMan pWorkMan) : base(Host_work_ID.WORK_SPELLOBJECT, pWorkMan)
|
||||
{
|
||||
m_OverTimeCnt = new CECCounter();
|
||||
m_dwMask = Work_mask.MASK_SPELLOBJECT;
|
||||
m_dwTransMask = Work_mask.MASK_STAND | Work_mask.MASK_MOVETOPOS | Work_mask.MASK_TRACEOBJECT;
|
||||
Reset();
|
||||
@@ -30,20 +34,25 @@ namespace BrewMonster.Scripts
|
||||
protected int m_iState;
|
||||
protected int m_idTarget; // Target id
|
||||
|
||||
// On first tick
|
||||
protected virtual void OnFirstTick()
|
||||
{
|
||||
//m_pHost.m_iMoveMode = CECHostPlayer::MOVE_STAND;
|
||||
}
|
||||
// Prepare cast
|
||||
public void PrepareCast(int idTarget, CECSkill pSkill, int iIncantTime)
|
||||
{
|
||||
m_pSkill = pSkill;
|
||||
m_iState = ST_INCANT;
|
||||
m_idTarget = idTarget;
|
||||
|
||||
if (iIncantTime < 0)
|
||||
iIncantTime = 0x7fffffff;
|
||||
else
|
||||
iIncantTime *= 2;
|
||||
|
||||
m_OverTimeCnt.SetPeriod(iIncantTime);
|
||||
m_OverTimeCnt.Reset();
|
||||
}
|
||||
// Change state
|
||||
public void ChangeState(int iState)
|
||||
{
|
||||
|
||||
m_iState = iState;
|
||||
}
|
||||
// Get state
|
||||
public int GetState()
|
||||
@@ -56,14 +65,37 @@ namespace BrewMonster.Scripts
|
||||
}
|
||||
|
||||
// Tick routine
|
||||
public virtual bool Tick(uint dwDeltaTime)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// Reset work
|
||||
public virtual void Reset()
|
||||
public override bool Tick(float dwDeltaTime)
|
||||
{
|
||||
base.Tick(dwDeltaTime * 1000);
|
||||
|
||||
if (m_OverTimeCnt.IncCounter(dwDeltaTime * 1000))
|
||||
m_bFinished = true;
|
||||
|
||||
if (m_idTarget != 0)
|
||||
{
|
||||
m_pHost.TurnFaceTo(m_idTarget);
|
||||
}
|
||||
if (!m_pHost.IsPlayingAction())
|
||||
{
|
||||
m_pHost.PlayAction((int)PLAYER_ACTION_TYPE.ACT_FIGHTSTAND);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
protected override void OnFirstTick()
|
||||
{
|
||||
m_pHost.m_iMoveMode = (int)MoveMode.MOVE_STAND;
|
||||
}
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
|
||||
m_OverTimeCnt.Reset();
|
||||
|
||||
m_pSkill = null;
|
||||
m_iState = ST_INCANT;
|
||||
m_idTarget = 0;
|
||||
}
|
||||
// Copy work data
|
||||
public virtual bool CopyData(CECHPWork pWork)
|
||||
@@ -73,6 +105,8 @@ namespace BrewMonster.Scripts
|
||||
// Cancel work
|
||||
public virtual void Cancel()
|
||||
{
|
||||
m_pHost.TurnFaceTo(0);
|
||||
base.Cancel();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ using PerfectWorld.Scripts;
|
||||
using CSNetwork;
|
||||
using UnityEngine;
|
||||
using static BrewMonster.Scripts.CECHPWork;
|
||||
using BrewMonster.Scripts.Pet;
|
||||
|
||||
namespace BrewMonster
|
||||
{
|
||||
@@ -52,10 +53,32 @@ namespace BrewMonster
|
||||
{
|
||||
OnClickBtnEscape();
|
||||
}
|
||||
if (Input.GetKeyDown(KeyCode.P))
|
||||
{
|
||||
OnCommandSummon(2);
|
||||
}
|
||||
if (Input.GetKeyDown(KeyCode.H))
|
||||
{
|
||||
BMLogger.LogError("Input.GetKeyDown(KeyCode.H)");
|
||||
CycleSkillShortcuts();
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
public void OnCommandSummon(int slot)
|
||||
{
|
||||
CECPetCorral pPetCorral = GetPetCorral();
|
||||
int nSlot = slot - 1;
|
||||
nSlot += 0 * 10;
|
||||
|
||||
// ·ÉÐÐ-¡·Æï³Ë
|
||||
if (GetActionSwitcher() != null && GetActionSwitcher().OnFlyToRideAction(nSlot))
|
||||
return;
|
||||
|
||||
SummonPet(nSlot);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle left button click / 处理左键点击
|
||||
/// </summary>
|
||||
|
||||
@@ -152,7 +152,7 @@ namespace BrewMonster.Scripts.Managers
|
||||
try
|
||||
{
|
||||
// Load the multi-sprite atlas from Resources
|
||||
var atlasSprites = Resources.LoadAll<Sprite>("UI/IconSprites/iconlist_ivtrm_multisprite");
|
||||
var atlasSprites = EC_Game.GetGameRun().GetUIManager().IconlistIvtr; //Resources.LoadAll<Sprite>("UI/IconSprites/iconlist_ivtrm_multisprite");
|
||||
if (atlasSprites != null && atlasSprites.Length > 0)
|
||||
{
|
||||
_multiSpriteAtlas = atlasSprites;
|
||||
|
||||
@@ -123,7 +123,7 @@ namespace PerfectWorld.Scripts.Managers
|
||||
if (m_Essence.name_len != 0)
|
||||
{
|
||||
m_strName = ByteToStringUtils.UshortArrayToUnicodeString(m_Essence.name);
|
||||
EC_Game.GetGameRun().GetUIManager().FilterBadWords(m_strName);
|
||||
EC_Game.GetGameRun().GetUIManager().FilterBadWords(ref m_strName);
|
||||
}
|
||||
|
||||
m_aSkills = new List<PETSKILL>(m_Essence.skill_count);
|
||||
|
||||
@@ -12,6 +12,7 @@ using BrewMonster.Scripts.Managers;
|
||||
using BrewMonster.Scripts;
|
||||
using CSNetwork.GPDataType;
|
||||
using System.Runtime.InteropServices;
|
||||
using BrewMonster.Scripts.Pet;
|
||||
namespace PerfectWorld.Scripts.Managers
|
||||
{
|
||||
public class EC_IvtrPetFood : EC_IvtrItem
|
||||
|
||||
@@ -132,7 +132,6 @@ namespace BrewMonster.Scripts.Managers
|
||||
public int[] resistance;
|
||||
public IVTR_ESSENCE_ARMOR(byte[] data)
|
||||
{
|
||||
Debug.Log("IVTR_ESSENCE_ARMOR: data.Length: " + data.Length);
|
||||
resistance = new int[InventoryConst.NUM_MAGICCLASS];
|
||||
CECDataReader dr = new(data, data.Length);
|
||||
defense = dr.ReadInt();
|
||||
|
||||
@@ -65,6 +65,7 @@ namespace PerfectWorld.Scripts.Managers
|
||||
case int value6 when value6 == EC_MsgDef.MSG_PM_PLAYERDOEMOTE:
|
||||
case int value7 when value7 == EC_MsgDef.MSG_PM_PLAYERGATHER:
|
||||
case int value8 when value8 == EC_MsgDef.MSG_PM_PLAYERFLY:
|
||||
case int value9 when value9 == EC_MsgDef.MSG_PM_PLAYERMOUNT:
|
||||
TransmitMessage(Msg);
|
||||
break;
|
||||
case int value when value == EC_MsgDef.MSG_PM_PLAYERDIED:
|
||||
@@ -626,6 +627,9 @@ namespace PerfectWorld.Scripts.Managers
|
||||
cid = (GPDataTypeHelper.FromBytes<cmd_object_landing>((byte[])Msg.dwParam1)).object_id;
|
||||
|
||||
break;
|
||||
case long value when value == EC_MsgDef.MSG_PM_PLAYERMOUNT:
|
||||
cid = (GPDataTypeHelper.FromBytes<cmd_player_mounting>((byte[])Msg.dwParam1)).id;
|
||||
break;
|
||||
// ⚠️ Các case khác cũng tương tự, chỉ việc lấy ra đúng trường id / caster / user ...
|
||||
// Do quá dài nên bạn có thể copy dần từng case từ C++ sang.
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ public class CECObject : MonoBehaviour
|
||||
|
||||
public A3DVECTOR3 GetPos()
|
||||
{
|
||||
return new A3DVECTOR3(transform.position.x, transform.position.y, transform.position.z);
|
||||
return EC_Utility.ToA3DVECTOR3(transform.position);
|
||||
}
|
||||
public Vector3 GetPosVector3()
|
||||
{
|
||||
|
||||
@@ -62,6 +62,6 @@ namespace BrewMonster.Scripts
|
||||
public uint GetTransferMask() => m_dwTransMask;
|
||||
|
||||
// On first tick
|
||||
protected virtual void OnFirstTick() { }
|
||||
public virtual void OnFirstTick() { }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,121 +0,0 @@
|
||||
using CSNetwork.GPDataType;
|
||||
using PerfectWorld.Scripts;
|
||||
using BrewMonster;
|
||||
using BrewMonster.Scripts;
|
||||
|
||||
public struct PETSKILL
|
||||
{
|
||||
public int idSkill;
|
||||
public int iLevel;
|
||||
public int iCoolCnt;
|
||||
public int iCoolMax;
|
||||
};
|
||||
|
||||
public enum SkillType
|
||||
{
|
||||
EM_SKILL_DEFAULT = 0, // �������Ը���
|
||||
EM_SKILL_NORMAL, // ��ͨ����
|
||||
EM_SKILL_NATURE, // �Ը���
|
||||
EM_SKILL_SPECIAL, // ר������
|
||||
}
|
||||
public class EC_PetCorral
|
||||
{
|
||||
public enum MaxSlotNum
|
||||
{
|
||||
MAX_SLOTNUM = 20, // ��ͨ����������
|
||||
MAX_SLOTNUM2 = 21, // �����������
|
||||
};
|
||||
// Moving mode
|
||||
public enum MoveMode
|
||||
{
|
||||
MOVE_FOLLOW = 0,
|
||||
MOVE_STAND,
|
||||
};
|
||||
|
||||
// Attacking mode
|
||||
public enum AttackMode
|
||||
{
|
||||
ATK_DEFENSE = 0,
|
||||
ATK_POSITIVE,
|
||||
ATK_PASSIVE,
|
||||
};
|
||||
protected int m_iIntimacy; // �øж�
|
||||
protected int m_iHunger; // ������
|
||||
protected int m_tid; // ������ID
|
||||
protected int m_tidVis; // ���������ģ��ID�����Ϊ0�����ʾ������ɼ�ID��
|
||||
protected int m_idEgg; // ���ﵰ��ID
|
||||
protected int m_iClass; // �������� ս�裬��裬���ͳ�
|
||||
protected float m_fHPFactor; // Ѫ��������������ջ�ʱʹ�ã� 0��Ϊ����
|
||||
protected float m_fMPFactor; // MP��������������ջ�ʱʹ�ã� 0��Ϊ����
|
||||
protected int m_iLevel; // ���V��
|
||||
protected bool m_isBind; // �Ƿ����˺�һ
|
||||
protected bool m_canWebTrade; // �Ƿ�Ѱ�����ɽ���
|
||||
protected ushort m_color; // ���Ⱦɫ��ɫ����λΪ1ʱ��Ч
|
||||
protected int m_iExp; // ���ﵱǰ����
|
||||
protected int m_iSkillPt; // ʣ�༼�ܵ�
|
||||
protected string m_strName;
|
||||
|
||||
protected int m_iHP; // Only fight pets have this
|
||||
protected int m_iMP;
|
||||
protected PETSKILL[] m_aSkills = new PETSKILL[(int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM];
|
||||
|
||||
protected int[] m_vecNorSkillIndex; // ��ֹ�Ը��ܺ���ͨ����˳����ҵ���������漼���� m_aSkills������
|
||||
protected int[] m_vecDynSkillIndex;
|
||||
protected int m_iSpecialSkillIndex; // ����ר��������m_aSkills�����ţ�ֻ�н�������һ���˼���
|
||||
|
||||
protected CECCounter m_cntAutoSkill;
|
||||
protected int[] m_aAutoSkills;
|
||||
|
||||
protected ROLEEXTPROP m_ExtProps;
|
||||
protected PET_ESSENCE m_pDBEssence = new PET_ESSENCE();
|
||||
|
||||
protected int m_iAtkRation;
|
||||
protected int m_iDefRation;
|
||||
protected int m_iHpRation;
|
||||
protected int m_iAtkLvlRation;
|
||||
protected int m_iDefLvlRation;
|
||||
protected int m_iNature;
|
||||
public CECPetData GetActivePet()
|
||||
{
|
||||
//Place holder for ivtrPetFood
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class CECPetData
|
||||
{
|
||||
#region enum
|
||||
public enum HungerLevel
|
||||
{
|
||||
HUNGER_LEVEL_0, // ��ʳ
|
||||
HUNGER_LEVEL_1, // ����
|
||||
HUNGER_LEVEL_2, // ���̶�һ��
|
||||
HUNGER_LEVEL_3,
|
||||
HUNGER_LEVEL_4, // ���̶ȶ���
|
||||
HUNGER_LEVEL_5,
|
||||
HUNGER_LEVEL_6,
|
||||
HUNGER_LEVEL_7, // ���̶�����
|
||||
HUNGER_LEVEL_8,
|
||||
HUNGER_LEVEL_9,
|
||||
HUNGER_LEVEL_10,
|
||||
HUNGER_LEVEL_11, // ���̶��ļ�
|
||||
HUNGER_LEVEL_COUNT,
|
||||
};
|
||||
// Intimacy level
|
||||
public enum IntimacyLevel
|
||||
{
|
||||
INTIMACY_LEVEL_0, // Ұ����ѱ, 0-50
|
||||
INTIMACY_LEVEL_1, // ������, 51-150
|
||||
INTIMACY_LEVEL_2, // ��������, 151-500
|
||||
INTIMACY_LEVEL_3, // ������, 501-999
|
||||
INTIMACY_LEVEL_COUNT,
|
||||
INTIMACY_POINT_MAX = 999,
|
||||
};
|
||||
#endregion
|
||||
|
||||
public int GetTemplateID()
|
||||
{
|
||||
//Place holder for ivtrPetFood
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c41c880dbc2344f819944899348d5124
|
||||
@@ -29,9 +29,12 @@ namespace BrewMonster.Scripts
|
||||
public uint dwUser1; // User defined data 1
|
||||
public uint dwUser2; // User defined data 2
|
||||
|
||||
// For test
|
||||
public A3DVECTOR3 normal;
|
||||
|
||||
public void Init(A3DVECTOR3 start, A3DVECTOR3 delta, A3DVECTOR3 ext, bool bRay = false, float epsilon = 0.03125f)
|
||||
{
|
||||
|
||||
BoundAABB = new A3DAABB();
|
||||
vStart = start;
|
||||
vDelta = delta;
|
||||
vExtents = ext;
|
||||
|
||||
@@ -50,6 +50,7 @@ namespace BrewMonster
|
||||
|
||||
public void SetComboSkillState(Dictionary<uint, int> skillDic, ref ComboSkillState state)
|
||||
{
|
||||
BMLogger.LogError($"SetComboSkillState: skillid={state.skillid}, arg0={state.arg[0]}, arg1={state.arg[1]}, arg2={state.arg[2]}");
|
||||
m_comboSkillState = state;
|
||||
if (state.skillid != 0)
|
||||
{
|
||||
|
||||
@@ -307,6 +307,7 @@ namespace BrewMonster
|
||||
//CECInstance pInstance = g_pGame.GetGameRun().GetInstance(idInst);
|
||||
//if (pInstance.GetLimitJump())
|
||||
//fGravity *= 4.0f;
|
||||
Vector3 posStart = EC_Utility.ToVector3(m_pHost.m_aabbServer.Center);
|
||||
CDR_INFO cdr = m_pHost.m_CDRInfo;
|
||||
cdr.vCenter = m_pHost.m_aabbServer.Center;
|
||||
cdr.vXOZVelDir = vRealDirH;
|
||||
@@ -345,6 +346,7 @@ namespace BrewMonster
|
||||
|
||||
m_fMoveTime += fTime;
|
||||
m_pHost.m_CDRInfo.vTPNormal = cdr.vTPNormal;
|
||||
//Debug.LogError("speed = " + (Vector3.Distance(posStart, EC_Utility.ToVector3(vNewPos)) / fTime));
|
||||
return vNewPos;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,10 @@ using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UIElements;
|
||||
using static BrewMonster.CECPlayer;
|
||||
using BrewMonster.Network;
|
||||
using System.Runtime.InteropServices;
|
||||
using PerfectWorld.Scripts.Managers.BrewMonster.Managers;
|
||||
using CSNetwork;
|
||||
using ModelRenderer.Scripts.Common;
|
||||
|
||||
namespace BrewMonster
|
||||
{
|
||||
@@ -82,7 +86,7 @@ namespace BrewMonster
|
||||
|
||||
protected int m_iBoothState = 0; // Booth state. 0, none; 1, prepare; 2, open booth; 3, visite other's booth
|
||||
public int m_idFRole = GNETRoles._R_UNMEMBER; // ID of player's faction role
|
||||
|
||||
|
||||
protected int m_idCountry = 0; // ¹úÕ½ÕóÓª id
|
||||
public static int MAX_REINCARNATION = 2;
|
||||
protected List<int> m_aCurEffects = new List<int>(); // Current effects
|
||||
@@ -93,6 +97,22 @@ namespace BrewMonster
|
||||
protected int m_iCurAction;
|
||||
bool m_bAboutToDie = false;
|
||||
public bool m_bCandHangerOn = false;
|
||||
public bool m_bPetInSanctuary = false; // true, the pet pet of the player is in sanctuary
|
||||
//The ID of the currently summoned pet
|
||||
int m_idCurPet = 0;
|
||||
byte m_byPariahLvl = 0; // Pariah level
|
||||
|
||||
public RIDINGPET m_RidingPet; // Riding pet information
|
||||
public GameObject m_pPetModel = null; // Pet model
|
||||
public RIDINGPET m_CandPet;// ID of candidate pet
|
||||
A3DVECTOR3 m_vNamePos; // Æï³Ë×´Ì¬Íæ¼ÒÐÕÃûµÄµ÷Õû
|
||||
// ÒÀ¸½ÀàÐÍ
|
||||
AttachMode m_AttachMode = AttachMode.enumAttachNone;
|
||||
// ÒÀ¸½Õß»ò±»ÒÀ¸½Õßid
|
||||
int m_iBuddyId;
|
||||
int m_idCandBuddy; // ID of candidate buddy
|
||||
EC_ManPlayer m_pPlayerMan => EC_ManMessageMono.Instance?.GetECManPlayer; // Player manager
|
||||
protected Transform playerTransform => transform;
|
||||
|
||||
public MOVECONST m_MoveConst; // Const used when moving control
|
||||
public Move_Mode m_MoveMode;
|
||||
@@ -137,7 +157,7 @@ namespace BrewMonster
|
||||
new MOVECONST(0.8f, 1.6f, 0.3f, 1.5f, 0.55f),
|
||||
};
|
||||
|
||||
public A3DVECTOR3[] aExts = new A3DVECTOR3[(int)PROFESSION.NUM_PROFESSION * GENDER.NUM_GENDER]
|
||||
public A3DVECTOR3[] aExts = new A3DVECTOR3[(int)PROFESSION.NUM_PROFESSION * GENDER.NUM_GENDER]
|
||||
{
|
||||
new A3DVECTOR3(0.4f, 0.9f, 0.4f), // ÎäÏÀ
|
||||
new A3DVECTOR3(0.3f, 0.85f, 0.3f),
|
||||
@@ -184,7 +204,7 @@ namespace BrewMonster
|
||||
{
|
||||
parentModel = transform.GetChild(0);
|
||||
txtName = GetComponentInChildren<TextMeshProUGUI>();
|
||||
if(transform.childCount >= 3)
|
||||
if (transform.childCount >= 3)
|
||||
{
|
||||
pointCam = transform.GetChild(2);
|
||||
}
|
||||
@@ -462,6 +482,12 @@ namespace BrewMonster
|
||||
protected override void Update()
|
||||
{
|
||||
base.Update();
|
||||
if (m_CandPet.id != 0 /*&& GetMajorModel()*/)
|
||||
{
|
||||
string szPetPath = GetRidingPetFileName(m_CandPet.id);
|
||||
QueueLoadPetModel(szPetPath, false);
|
||||
m_CandPet.Reset();
|
||||
}
|
||||
}
|
||||
public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage,
|
||||
uint dwModifier, int nAttackSpeed, ref int piAttackTime, int nSection = 0)
|
||||
@@ -747,17 +773,17 @@ namespace BrewMonster
|
||||
bool result = (false);
|
||||
|
||||
/*while (GetPlayerModel() && (GetLeftHandWeapon() || GetRightHandWeapon())){
|
||||
A3DSkinModel *pSkinModel = GetPlayerModel()->GetA3DSkinModel();
|
||||
A3DSkinModel *pSkinModel = GetPlayerModel().GetA3DSkinModel();
|
||||
if (!pSkinModel ||
|
||||
!pSkinModel->GetSkeleton()){
|
||||
!pSkinModel.GetSkeleton()){
|
||||
break;
|
||||
}
|
||||
if (!pSkinModel->GetSkeletonHook(GetLeftWeaponHookPos(m_weaponHangerPos),true) ||
|
||||
!pSkinModel->GetSkeletonHook(GetRightWeaponHookPos(m_weaponHangerPos),true)){
|
||||
if (!pSkinModel.GetSkeletonHook(GetLeftWeaponHookPos(m_weaponHangerPos),true) ||
|
||||
!pSkinModel.GetSkeletonHook(GetRightWeaponHookPos(m_weaponHangerPos),true)){
|
||||
break;
|
||||
}
|
||||
if (GetLeftHandWeapon()){
|
||||
GetPlayerModel()->AddChildModel(
|
||||
GetPlayerModel().AddChildModel(
|
||||
_left_hand_weapon,
|
||||
false,
|
||||
GetLeftWeaponHookPos(m_weaponHangerPos),
|
||||
@@ -765,7 +791,7 @@ namespace BrewMonster
|
||||
GetLeftWeaponOwnHookPos(GetLeftHandWeapon()));
|
||||
}
|
||||
if (GetRightHandWeapon()){
|
||||
GetPlayerModel()->AddChildModel(
|
||||
GetPlayerModel().AddChildModel(
|
||||
_right_hand_weapon,
|
||||
false,
|
||||
GetRightWeaponHookPos(m_weaponHangerPos),
|
||||
@@ -1115,9 +1141,9 @@ namespace BrewMonster
|
||||
else
|
||||
{
|
||||
/* if ((*//*UsingWing()*//*m_wingType == enumWingType.WINGTYPE_WING && IsFlying()) || (GetProfession() == PROF_ANGEL) || (GetProfession() == PROF_ARCHOR) || (GetProfession() == PROF_MONK) || (GetProfession() == PROF_GHOST))
|
||||
sprintf(szAct, "%s_¿ÕÖгá°ò_Ò÷³ª_%s", data->action_prefix, data->action_weapon_suffix[weapon_type].suffix);
|
||||
sprintf(szAct, "%s_¿ÕÖгá°ò_Ò÷³ª_%s", data.action_prefix, data.action_weapon_suffix[weapon_type].suffix);
|
||||
else
|
||||
sprintf(szAct, "%s_¿ÕÖзɽ£_Ò÷³ª_%s", data->action_prefix, data->action_weapon_suffix[weapon_type].suffix);*/
|
||||
sprintf(szAct, "%s_¿ÕÖзɽ£_Ò÷³ª_%s", data.action_prefix, data.action_weapon_suffix[weapon_type].suffix);*/
|
||||
}
|
||||
|
||||
bool bHideFX = false; /*!CECOptimize::Instance().GetGFX().CanShowCast(GetCharacterID(), GetClassID());*/
|
||||
@@ -1151,7 +1177,10 @@ namespace BrewMonster
|
||||
}
|
||||
public CECSkill GetCurSkill() { return m_pCurSkill; }
|
||||
public bool IsHangerOn() { return m_bHangerOn; }
|
||||
|
||||
public bool IsPlayingAction()
|
||||
{
|
||||
return true /*GetLowerBodyAction() != -1*/ ;
|
||||
}
|
||||
public bool PlaySkillCastActionWithName(int idSkill, string szActName, bool bNoFX/* =false */)
|
||||
{
|
||||
return m_pActionController != null
|
||||
@@ -1198,18 +1227,18 @@ namespace BrewMonster
|
||||
return false;
|
||||
}
|
||||
|
||||
// nTime1 = m_pPlayerModel->GetComActTimeSpanByName(szAct); // 获取动作时长 / Get action time span
|
||||
// pAct = m_pPlayerModel->GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct->IsInfinite();
|
||||
// nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); // 获取动作时长 / Get action time span
|
||||
// pAct = m_pPlayerModel.GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct.IsInfinite();
|
||||
nTime1 = 1000; // 临时值 / Temporary value
|
||||
|
||||
szAct = EC_Utility.BuildActionName(data, weapon_type, "_施放落_");
|
||||
GetSkillSectionActionName(ref szAct, idSkill, nSection);
|
||||
QueueSkillAttackActionWithName(idSkill, szAct, 0, bHideFX);
|
||||
|
||||
// nTime2 = m_pPlayerModel->GetComActTimeSpanByName(szAct);
|
||||
// pAct = m_pPlayerModel->GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct->IsInfinite();
|
||||
// nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct);
|
||||
// pAct = m_pPlayerModel.GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct.IsInfinite();
|
||||
nTime2 = 1000; // 临时值 / Temporary value
|
||||
}
|
||||
else
|
||||
@@ -1239,11 +1268,11 @@ namespace BrewMonster
|
||||
}
|
||||
|
||||
// if (pRightHandWeapon && IsUsingMagicWeapon())
|
||||
// pRightHandWeapon->PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, ACT_CASTSKILL, bHideFX);
|
||||
// pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, ACT_CASTSKILL, bHideFX);
|
||||
|
||||
// nTime1 = m_pPlayerModel->GetComActTimeSpanByName(szAct);
|
||||
// pAct = m_pPlayerModel->GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct->IsInfinite();
|
||||
// nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct);
|
||||
// pAct = m_pPlayerModel.GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct.IsInfinite();
|
||||
nTime1 = 1000; // 临时值 / Temporary value
|
||||
|
||||
szAct = $"{data.action_prefix}_{szActionMiddleName}_施法行_{data.action_weapon_suffix[weapon_type].suffix}";
|
||||
@@ -1251,11 +1280,11 @@ namespace BrewMonster
|
||||
QueueSkillAttackActionWithName(idSkill, szAct, 0, bHideFX);
|
||||
|
||||
// if (pRightHandWeapon && IsUsingMagicWeapon())
|
||||
// pRightHandWeapon->QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, ACT_CASTSKILL, false, false, bHideFX);
|
||||
// pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, ACT_CASTSKILL, false, false, bHideFX);
|
||||
|
||||
// nTime2 = m_pPlayerModel->GetComActTimeSpanByName(szAct);
|
||||
// pAct = m_pPlayerModel->GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct->IsInfinite();
|
||||
// nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct);
|
||||
// pAct = m_pPlayerModel.GetComActByName(szAct);
|
||||
// if (pAct) bInfinite |= pAct.IsInfinite();
|
||||
nTime2 = 1000; // 临时值 / Temporary value
|
||||
}
|
||||
|
||||
@@ -1268,10 +1297,10 @@ namespace BrewMonster
|
||||
if (nExecuteTime > 0)
|
||||
{
|
||||
float vScale = (nTime1 + nTime2) / (float)nExecuteTime;
|
||||
// m_pPlayerModel->SetPlaySpeed(vScale * 1.2f);
|
||||
// m_pPlayerModel.SetPlaySpeed(vScale * 1.2f);
|
||||
|
||||
// if (pRightHandWeapon && IsUsingMagicWeapon())
|
||||
// pRightHandWeapon->SetPlaySpeed(vScale * 1.2f);
|
||||
// pRightHandWeapon.SetPlaySpeed(vScale * 1.2f);
|
||||
}
|
||||
|
||||
piAttackTime = nTime1 + nTime2;
|
||||
@@ -1427,12 +1456,12 @@ namespace BrewMonster
|
||||
// if (m_pModels[i] && (iShapeTypeMask & (1<<i)))
|
||||
// {
|
||||
// if (IsCurrentModel(m_pModels[i])){
|
||||
// m_pModels[i]->PlayGfx(szPath, szHook, fScale);
|
||||
// m_pModels[i].PlayGfx(szPath, szHook, fScale);
|
||||
// bPlayed = true;
|
||||
// }
|
||||
// if(bSkipRecord) continue;
|
||||
// A3DGFXEx* pGfx = m_pModels[i]->GetGfx(szPath, szHook);
|
||||
// if (pGfx && pGfx->IsInfinite()){
|
||||
// A3DGFXEx* pGfx = m_pModels[i].GetGfx(szPath, szHook);
|
||||
// if (pGfx && pGfx.IsInfinite()){
|
||||
// GFXRECORD rec;
|
||||
// rec.strPath = szPath;
|
||||
// rec.strHook = szHook;
|
||||
@@ -1637,13 +1666,336 @@ namespace BrewMonster
|
||||
{
|
||||
//if (m_pPlayerModel)
|
||||
//{
|
||||
// CECModel* pWing = m_pPlayerModel->GetChildModel(_wing);
|
||||
// if (pWing) pWing->Show(bShow);
|
||||
// CECModel* pWing = m_pPlayerModel.GetChildModel(_wing);
|
||||
// if (pWing) pWing.Show(bShow);
|
||||
|
||||
// CECModel* pWing2 = m_pPlayerModel->GetChildModel(_wing2);
|
||||
// if (pWing2) pWing2->Show(bShow);
|
||||
// CECModel* pWing2 = m_pPlayerModel.GetChildModel(_wing2);
|
||||
// if (pWing2) pWing2.Show(bShow);
|
||||
//}
|
||||
}
|
||||
|
||||
// Get current pet id
|
||||
public int GetCurPetID() { return m_idCurPet; }
|
||||
// Set current pet id
|
||||
public void SetCurPetID(int id) { m_idCurPet = id; }
|
||||
|
||||
// Get player name color
|
||||
public uint GetNameColor()
|
||||
{
|
||||
uint dwNameCol = NameColor.NAMECOL_MAUVE;
|
||||
|
||||
if (IsInBattle()) // Player is in battle
|
||||
{
|
||||
if (m_iBattleCamp == Player_camp_in_battle.GP_BATTLE_CAMP_INVADER)
|
||||
dwNameCol = NameColor.NAMECOL_BC_RED;
|
||||
else // (m_iBattleCamp == GP_BATTLE_CAMP_DEFENDER)
|
||||
dwNameCol = NameColor.NAMECOL_BC_BLUE;
|
||||
}
|
||||
else if (IsPariah())
|
||||
{
|
||||
switch (m_byPariahLvl)
|
||||
{
|
||||
case 0: dwNameCol = NameColor.NAMECOL_RED0; break;
|
||||
case 1: dwNameCol = NameColor.NAMECOL_RED1; break;
|
||||
default: dwNameCol = NameColor.NAMECOL_RED2; break;
|
||||
}
|
||||
}
|
||||
else if (IsInvader())
|
||||
dwNameCol = NameColor.NAMECOL_PINK;
|
||||
else if (m_pvp.bEnable)
|
||||
dwNameCol = NameColor.NAMECOL_WHITE;
|
||||
|
||||
return dwNameCol;
|
||||
}
|
||||
|
||||
// Riding pet info.
|
||||
public struct RIDINGPET
|
||||
{
|
||||
public int id;
|
||||
public ushort color;
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
id = 0;
|
||||
color = 0;
|
||||
}
|
||||
|
||||
public bool GetColor(ref Color clr)
|
||||
{
|
||||
// Get the current pet’s dye/color
|
||||
return id > 0 && GetColor(color, ref clr);
|
||||
}
|
||||
|
||||
public static bool GetColor(ushort c, ref Color clr)
|
||||
{
|
||||
// Check whether the current pet has been dyed; if so, return the dyed color.
|
||||
bool bRet = false;
|
||||
if ((c & (1 << (Marshal.SizeOf(c) * 8 - 1))) != 0)
|
||||
{
|
||||
// unsigned short: if the highest bit is 1, it means the pet has been dyed;
|
||||
// in this case, the dyed color can be retrieved.
|
||||
clr = new Color(((c) & (0x1f << 10)) >> 7, ((c) & (0x1f << 5)) >> 2, ((c) & 0x1f) << 3);
|
||||
bRet = true;
|
||||
}
|
||||
return bRet;
|
||||
}
|
||||
|
||||
public static Color GetDefaultColor()
|
||||
{
|
||||
return new Color(255f / 255f, 255f / 255f, 255f / 255f);
|
||||
}
|
||||
};
|
||||
|
||||
public bool IsRidingOnPet() { return m_RidingPet.id != 0; }
|
||||
// Get riding pet info.
|
||||
public RIDINGPET GetRidingPetInfo() { return m_RidingPet; }
|
||||
|
||||
public void RideOnPet(int id, ushort color)
|
||||
{
|
||||
m_CandPet.id = id;
|
||||
m_CandPet.color = color;
|
||||
m_RidingPet.id = id;
|
||||
m_RidingPet.color = color;
|
||||
}
|
||||
|
||||
public void GetOffPet(bool bResetData)
|
||||
{
|
||||
int iBuddyId = 0;
|
||||
m_CandPet.Reset();
|
||||
|
||||
SetNamePos(new A3DVECTOR3(0.0f));
|
||||
|
||||
if (m_AttachMode != AttachMode.enumAttachNone)
|
||||
{
|
||||
iBuddyId = m_iBuddyId;
|
||||
DetachBuddy(null, bResetData);
|
||||
}
|
||||
|
||||
if (m_pPetModel)
|
||||
{
|
||||
GameObject.Destroy(m_pPetModel);
|
||||
m_pPetModel = null;
|
||||
}
|
||||
|
||||
if (bResetData)
|
||||
m_RidingPet.Reset();
|
||||
|
||||
// Re-calculate player's AABB
|
||||
CalcPlayerAABB();
|
||||
//SetUseGroundNormal(ShouldUseGroundNormalForCurrentShapeModel());
|
||||
SetPos(GetPosVector3());
|
||||
|
||||
//if (iBuddyId != 0)
|
||||
// AttachBuddy(iBuddyId);
|
||||
//else
|
||||
PlayAction(GetMoveStandAction(false, IsFighting()), true);
|
||||
}
|
||||
|
||||
void SetNamePos(A3DVECTOR3 vPos) { m_vNamePos = vPos; }
|
||||
|
||||
// Player Attach mode
|
||||
public enum AttachMode
|
||||
{
|
||||
enumAttachNone,
|
||||
enumAttachRideOnPet,
|
||||
enumAttachRideOnPlayer,
|
||||
enumAttachHugPlayer,
|
||||
};
|
||||
|
||||
void DetachBuddy(CECPlayer pBuddy, bool bResetData)
|
||||
{
|
||||
if (m_AttachMode == AttachMode.enumAttachNone)
|
||||
return;
|
||||
|
||||
if (m_bHangerOn)
|
||||
{
|
||||
if (!pBuddy) pBuddy = m_pPlayerMan.GetPlayer(m_iBuddyId);
|
||||
if (pBuddy)
|
||||
pBuddy.DetachBuddy(this, bResetData);
|
||||
else
|
||||
{
|
||||
if (bResetData)
|
||||
{
|
||||
m_AttachMode = AttachMode.enumAttachNone;
|
||||
m_bHangerOn = false;
|
||||
m_iBuddyId = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!pBuddy) pBuddy = m_pPlayerMan.GetPlayer(m_iBuddyId);
|
||||
|
||||
if (m_AttachMode == AttachMode.enumAttachRideOnPlayer)
|
||||
{
|
||||
//if (m_pPlayerModel) m_pPlayerModel.RemoveChildModel(_hanger_ride, false);
|
||||
}
|
||||
else if (m_AttachMode == AttachMode.enumAttachHugPlayer)
|
||||
{
|
||||
//if (m_pPlayerModel) m_pPlayerModel.RemoveChildModel(_hanger_hug, false);
|
||||
}
|
||||
else if (m_AttachMode == AttachMode.enumAttachRideOnPet)
|
||||
{
|
||||
if (m_pPetModel)
|
||||
{
|
||||
//A3DSkinModelHanger* pHanger = m_pPetModel.GetA3DSkinModel().GetSkinModelHanger(_hanger_ride);
|
||||
//if (pHanger) pHanger.SetOffsetMat(a3d_IdentityMatrix());
|
||||
//m_pPetModel.RemoveChildModel(_hanger_ride2, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (bResetData)
|
||||
{
|
||||
m_AttachMode = AttachMode.enumAttachNone;
|
||||
m_bHangerOn = false;
|
||||
m_iBuddyId = 0;
|
||||
}
|
||||
|
||||
if (pBuddy)
|
||||
{
|
||||
if (bResetData)
|
||||
{
|
||||
pBuddy.m_AttachMode = AttachMode.enumAttachNone;
|
||||
pBuddy.m_bHangerOn = false;
|
||||
pBuddy.m_iBuddyId = 0;
|
||||
}
|
||||
|
||||
pBuddy.SetPos(pBuddy.GetPosVector3());
|
||||
pBuddy.SetDirAndUp(pBuddy.transform.forward, pBuddy.transform.up);
|
||||
pBuddy.PlayAction(GetMoveStandAction(false, IsFighting()), true);
|
||||
}
|
||||
PlayAction(GetMoveStandAction(IsPlayingMoveAction(), IsFighting()), true);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPos(Vector3 pos)
|
||||
{
|
||||
playerTransform.position = pos;
|
||||
|
||||
m_aabb.Center = EC_Utility.ToA3DVECTOR3(pos) + new A3DVECTOR3(0.0f, m_aabb.Extents.y, 0.0f);
|
||||
m_aabb.CompleteMinsMaxs();
|
||||
m_aabbServer.Center = EC_Utility.ToA3DVECTOR3(pos) + new A3DVECTOR3(0.0f, m_aabbServer.Extents.y, 0.0f);
|
||||
m_aabbServer.CompleteMinsMaxs();
|
||||
}
|
||||
|
||||
public bool IsPlayingMoveAction()
|
||||
{
|
||||
return m_iCurAction == (int)PLAYER_ACTION_TYPE.ACT_STAND;
|
||||
}
|
||||
|
||||
public void OnMsgPlayerMount(ECMSG Msg)
|
||||
{
|
||||
cmd_player_mounting pCmd = GPDataTypeHelper.FromBytes<cmd_player_mounting>((byte[])Msg.dwParam1);
|
||||
|
||||
if (pCmd.mount_id != 0)
|
||||
RideOnPet(pCmd.mount_id, pCmd.mount_color);
|
||||
else
|
||||
GetOffPet(true);
|
||||
}
|
||||
|
||||
// Build riding pet file name
|
||||
string GetRidingPetFileName(int idPet)
|
||||
{
|
||||
string szDef = "Models/NPCs/宠物/骑宠/骑宠马/骑宠马白.ecm";
|
||||
|
||||
DATA_TYPE DataType = new DATA_TYPE();
|
||||
var pDataPtr = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)idPet, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
|
||||
if (DataType != DATA_TYPE.DT_PET_ESSENCE)
|
||||
return szDef;
|
||||
|
||||
PET_ESSENCE pData = (PET_ESSENCE)pDataPtr;
|
||||
if (pData.file_model[0] == 0)
|
||||
return szDef;
|
||||
|
||||
return ByteToStringUtils.ByteArrayToUTF8String(pData.file_model);
|
||||
}
|
||||
|
||||
public async void QueueLoadPetModel(string szPetPath, bool bAtOnce)
|
||||
{
|
||||
var modelPet = await LoadPetModel(szPetPath);
|
||||
|
||||
if (modelPet == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
SetPetLoadResult(modelPet);
|
||||
}
|
||||
|
||||
public async Task<GameObject> LoadPetModel(string szPetPath)
|
||||
{
|
||||
var pPetModel = CECGameRun.Instance.GetPetMount();
|
||||
if(pPetModel == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
try
|
||||
{
|
||||
var model = await AddressableManager.Instance.LoadPrefabAsync(AFile.NormalizePath(szPetPath.ToLower(), true));
|
||||
if(model == null)
|
||||
{
|
||||
model = GameObject.CreatePrimitive(PrimitiveType.Capsule);
|
||||
}
|
||||
var obModel = GameObject.Instantiate(model);
|
||||
obModel.transform.SetParent(pPetModel.transform);
|
||||
AddressableManager.Instance.ReleaseAsset(szPetPath);
|
||||
}
|
||||
catch
|
||||
{
|
||||
var model = GameObject.CreatePrimitive(PrimitiveType.Capsule);
|
||||
var obModel = GameObject.Instantiate(model);
|
||||
obModel.transform.SetParent(pPetModel.transform);
|
||||
AddressableManager.Instance.ReleaseAsset(szPetPath);
|
||||
//return null;
|
||||
}
|
||||
return pPetModel;
|
||||
}
|
||||
|
||||
bool SetPetLoadResult(GameObject pPetModel)
|
||||
{
|
||||
if (m_RidingPet.id == 0 /*|| !GetMajorModel() || m_CandPet.id != 0*/ || !pPetModel)
|
||||
return false;
|
||||
|
||||
if (m_pPetModel)
|
||||
{
|
||||
RIDINGPET pet = m_RidingPet;
|
||||
GetOffPet(true);
|
||||
m_RidingPet = pet;
|
||||
}
|
||||
|
||||
A3DVECTOR3 vCurPos = GetPos();
|
||||
|
||||
m_aabbServer.Center = vCurPos + new A3DVECTOR3(0.0f, m_aabbServer.Extents.y, 0.0f);
|
||||
m_aabbServer.CompleteMinsMaxs();
|
||||
|
||||
m_pPetModel = pPetModel;
|
||||
|
||||
// ½«³èÎïÑÕÉ«ÉèÖõ½Ä£ÐÍÉÏ
|
||||
//SetRidingPetColor(m_RidingPet.color);
|
||||
|
||||
SetUseGroundNormal(true);
|
||||
//m_pPetModel.SetAffectedByParent(false);
|
||||
m_pPetModel.transform.position = EC_Utility.ToVector3(vCurPos);
|
||||
//m_pPetModel.SetDirAndUp(GetDir(), GetUp());
|
||||
|
||||
//int iIndex;
|
||||
//A3DSkeletonHook* pHook = GetMajorModel().GetA3DSkinModel().GetSkeleton().GetHook(_cc_ride, &iIndex);
|
||||
//if (pHook) pHook.SetFixDirFlag(true);
|
||||
|
||||
int iBuddyId = m_iBuddyId;
|
||||
if (m_AttachMode != AttachMode.enumAttachNone)
|
||||
DetachBuddy(null, true);
|
||||
|
||||
m_pPetModel.transform.SetParent(transform);
|
||||
//m_pPetModel.AddChildModel(_hanger_ride, false, _hh_ride, GetMajorModel(), _cc_ride);
|
||||
//m_pPetModel.GetA3DSkinModel().Update(0);
|
||||
|
||||
//if (iBuddyId != 0)
|
||||
// AttachBuddy(iBuddyId);
|
||||
//else
|
||||
PlayAction(GetMoveStandAction(false, IsFighting()), true);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public struct PlayActionEvent
|
||||
@@ -1927,38 +2279,38 @@ namespace BrewMonster
|
||||
/// Place holder for riding pet. Not test logic yet.
|
||||
/// </summary>
|
||||
public struct RIDINGPET
|
||||
{
|
||||
public int id;
|
||||
public ushort color;
|
||||
{
|
||||
public int id;
|
||||
public ushort color;
|
||||
|
||||
public RIDINGPET(bool isReset = true)
|
||||
{
|
||||
id = 0;
|
||||
public RIDINGPET(bool isReset = true)
|
||||
{
|
||||
id = 0;
|
||||
color = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public bool GetColor(Color clr)
|
||||
{
|
||||
// ��ȡ��ǰ����Ⱦɫ��ɫ
|
||||
return id>0 && GetColor(color, clr);
|
||||
}
|
||||
public bool GetColor(Color clr)
|
||||
{
|
||||
// ��ȡ��ǰ����Ⱦɫ��ɫ
|
||||
return id > 0 && GetColor(color, clr);
|
||||
}
|
||||
|
||||
public static bool GetColor(ushort c, Color clr)
|
||||
{
|
||||
// ��ѯ��ǰ����Ƿ�Ⱦ��ɫ�����Ⱦ��ɫ�����ر�Ⱦ֮�����ɫ
|
||||
bool bRet = false;
|
||||
if ((c & (1<<(8-1))) != 0)
|
||||
{
|
||||
// unsigned short ��λΪ1ʱ����ʾȾ��ɫ����ʱ�ɻ�ȡ��ɫ
|
||||
clr = new Color(((c) & (0x1f << 10)) >> 7, ((c) & (0x1f << 5)) >> 2, ((c) & 0x1f) << 3);
|
||||
bRet = true;
|
||||
}
|
||||
return bRet;
|
||||
}
|
||||
public static bool GetColor(ushort c, Color clr)
|
||||
{
|
||||
// ��ѯ��ǰ����Ƿ�Ⱦ��ɫ�����Ⱦ��ɫ�����ر�Ⱦ֮�����ɫ
|
||||
bool bRet = false;
|
||||
if ((c & (1 << (8 - 1))) != 0)
|
||||
{
|
||||
// unsigned short ��λΪ1ʱ����ʾȾ��ɫ����ʱ�ɻ�ȡ��ɫ
|
||||
clr = new Color(((c) & (0x1f << 10)) >> 7, ((c) & (0x1f << 5)) >> 2, ((c) & 0x1f) << 3);
|
||||
bRet = true;
|
||||
}
|
||||
return bRet;
|
||||
}
|
||||
|
||||
public static Color GetDefaultColor()
|
||||
{
|
||||
return new Color(255, 255, 255);
|
||||
}
|
||||
};
|
||||
public static Color GetDefaultColor()
|
||||
{
|
||||
return new Color(255, 255, 255);
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -123,7 +123,6 @@ namespace BrewMonster
|
||||
|
||||
if ((pEnvTrc.dwCheckFlag & CDR_EVN.CDR_BRUSH) == CDR_EVN.CDR_BRUSH)
|
||||
{
|
||||
dir = vDelta;
|
||||
float num = 10f;
|
||||
Vector3[] arrVExt = new Vector3[5] {
|
||||
vExt
|
||||
@@ -132,12 +131,13 @@ namespace BrewMonster
|
||||
new Vector3(vExt.x, vExt.y, vExt.z / num),
|
||||
vExt / num
|
||||
};
|
||||
for(int i = 0; i < arrVExt.Length; i++)
|
||||
dir = vDelta;
|
||||
for (int i = 0; i < arrVExt.Length; i++)
|
||||
{
|
||||
countHits = Physics.BoxCastNonAlloc(vStart, vExt, dir.normalized, hits, Quaternion.identity, vDelta.magnitude, BrushMask);
|
||||
countHits = Physics.BoxCastNonAlloc(vStart, arrVExt[i], dir.normalized, hits, Quaternion.identity, vDelta.magnitude, BrushMask);
|
||||
if (countHits > 0 && hits[0].distance > 0.0009f)
|
||||
{
|
||||
pEnvTrc.fFraction = (hits[0].distance - vExt.x) / vDelta.magnitude;
|
||||
pEnvTrc.fFraction = (hits[0].distance) / vDelta.magnitude;
|
||||
pEnvTrc.vHitNormal = EC_Utility.ToA3DVECTOR3(hits[0].normal);
|
||||
pEnvTrc.dwClsFlag = CDR_EVN.CDR_BRUSH;
|
||||
break;
|
||||
@@ -155,14 +155,15 @@ namespace BrewMonster
|
||||
{
|
||||
vTerStart.y = fHitsTerrain[0].point.y;
|
||||
}
|
||||
fHitsTerrain = new RaycastHit[5];
|
||||
countHits = Physics.RaycastNonAlloc(vTerStart, dir.normalized, fHitsTerrain, vDelta.magnitude, TerrainMask);
|
||||
if (countHits > 0 && Vector3.Distance(fHitsTerrain[0].point, vTerStart) > 0.0009f)
|
||||
if ((countHits > 0 && Vector3.Distance(vTerStart, fHitsTerrain[0].point) > 0.0009f))
|
||||
{
|
||||
fFractionTerrain = (hits[0].distance) / vDelta.magnitude;
|
||||
pEnvTrc.vHitNormal = EC_Utility.ToA3DVECTOR3(hits[0].normal);
|
||||
fFractionTerrain = (fHitsTerrain[0].distance) / vDelta.magnitude;
|
||||
pEnvTrc.vHitNormal = EC_Utility.ToA3DVECTOR3(fHitsTerrain[0].normal);
|
||||
pEnvTrc.dwClsFlag = CDR_EVN.CDR_TERRAIN;
|
||||
}
|
||||
if (fFractionTerrain < pEnvTrc.fFraction)
|
||||
if (fFractionTerrain >= (1.0f + 1E-4f) && fFractionTerrain < pEnvTrc.fFraction)
|
||||
{
|
||||
hits = fHitsTerrain;
|
||||
pEnvTrc.fFraction = fFractionTerrain;
|
||||
@@ -255,209 +256,525 @@ namespace BrewMonster
|
||||
}
|
||||
|
||||
// ======= STATIC OnGroundMove – GIỮ NGUYÊN VAI TRÒ TOÀN CỤC (C API) =======
|
||||
//public static void OnGroundMove(ref CDR_INFO CDRInfo)
|
||||
//{
|
||||
|
||||
// CDRInfo.fMoveDist = 0.0f;
|
||||
|
||||
// bool bFreeFall = (CDRInfo.vTPNormal.y < CDRInfo.fSlopeThresh);
|
||||
// if (CDRInfo.fYVel < VEL_EPSILON && CDRInfo.fYVel > -VEL_EPSILON && CDRInfo.fSpeed < VEL_EPSILON && CDRInfo.fSpeed > -VEL_EPSILON && !bFreeFall)
|
||||
// return;
|
||||
|
||||
// float fYVel = CDRInfo.fYVel;
|
||||
// bool bJump = (fYVel > 0.5f);
|
||||
|
||||
// Vector3 vVelocity = CDRInfo.fSpeed * EC_Utility.ToVector3(CDRInfo.vXOZVelDir) + fYVel * Vector3.up;
|
||||
|
||||
// if (bFreeFall)
|
||||
// {
|
||||
// vVelocity += -CDRInfo.fGravityAccel * CDRInfo.t * Vector3.up;
|
||||
// fYVel += -CDRInfo.fGravityAccel * CDRInfo.t;
|
||||
// }
|
||||
// A3DVECTOR3 vVelDir = EC_Utility.ToA3DVECTOR3(vVelocity);
|
||||
// float fVelSpeed = vVelDir.Normalize();
|
||||
// if (!bFreeFall)
|
||||
// {
|
||||
// if (fVelSpeed > VEL_MAX_SPEED)
|
||||
// {
|
||||
// fVelSpeed = VEL_MAX_SPEED;
|
||||
// }
|
||||
// }
|
||||
// vVelocity = EC_Utility.ToVector3(vVelDir) * fVelSpeed;
|
||||
// float dtp = DotProduct(vVelDir, CDRInfo.vTPNormal);
|
||||
// if (dtp < 0f || !bJump)
|
||||
// {
|
||||
// vVelocity = EC_Utility.ToVector3((vVelDir -(CDRInfo.vTPNormal) * dtp - (CDRInfo.vTPNormal) * dtp * 0.01f) * fVelSpeed);
|
||||
// }
|
||||
|
||||
// CDRInfo.vAbsVelocity = EC_Utility.ToA3DVECTOR3(vVelocity);
|
||||
|
||||
// Vector3 vStart = EC_Utility.ToVector3(CDRInfo.vCenter);
|
||||
// Vector3 vExt = EC_Utility.ToVector3(CDRInfo.vExtent);
|
||||
// float fTime = CDRInfo.t;
|
||||
|
||||
// Vector3 vDelta, vNormal = Vector3.zero, vFinalPos = vStart;
|
||||
// bool bPull = false;
|
||||
// bool bTryPull = false;
|
||||
|
||||
// int nTry = 0;
|
||||
// LayerMask mask = UsedMask_Ground() | BrushMask;
|
||||
|
||||
// env_trace_t trcInfo = new env_trace_t();
|
||||
// trcInfo.dwCheckFlag = CDR_EVN.CDR_TERRAIN | CDR_EVN.CDR_BRUSH;
|
||||
// trcInfo.vExt = CDRInfo.vExtent;
|
||||
|
||||
// int countHits = 0;
|
||||
// while (nTry < 1)
|
||||
// {
|
||||
// vDelta = vVelocity * (fTime);
|
||||
// float fDeltaDist = vDelta.magnitude;
|
||||
// Vector3 posFoot = vStart - Vector3.up * vExt.y;
|
||||
// vFinalPos = vStart;
|
||||
// if (fDeltaDist < DIST_EPSILON) break;
|
||||
// countHits = Physics.RaycastNonAlloc(vStart, (Vector3.down * vExt.y).normalized, hits, vExt.y, mask);
|
||||
// if (countHits > 0)
|
||||
// {
|
||||
// if (hits[0].point.y >= posFoot.y)
|
||||
// {
|
||||
// posFoot.y = hits[0].point.y;
|
||||
// }
|
||||
// }
|
||||
// //Debug.LogError("fDeltaDist = " + fDeltaDist + " vVelocity = " + vVelocity + " fTime = " + fTime + " speed = " + (fDeltaDist / fTime) + " posFoot + vDelta = " + (posFoot + vDelta) + " posFoot = " + posFoot);
|
||||
// countHits = Physics.RaycastNonAlloc(posFoot, (posFoot + vDelta).normalized, hits, fDeltaDist, mask);
|
||||
// bool bClear = !(countHits > 0);
|
||||
// nTry++;
|
||||
// if (bClear || (countHits > 0 && Vector3.Distance(hits[0].point, posFoot) < 0.0009f)) // Is 0.0009f the tolerance used to check if two points are the same?
|
||||
// {
|
||||
// vFinalPos = vStart + vDelta;
|
||||
// CDRInfo.fMoveDist += fDeltaDist;
|
||||
// break;
|
||||
// }
|
||||
// vStart = hits[0].point + Vector3.up * vExt.y;
|
||||
|
||||
// vFinalPos = vStart;
|
||||
// countHits = Physics.RaycastNonAlloc(vStart, (Vector3.down).normalized, hits, vExt.y, mask);
|
||||
// if (countHits > 0)
|
||||
// {
|
||||
// vNormal = hits[0].normal;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// vNormal = Vector3.zero;
|
||||
// }
|
||||
|
||||
// // Step-up (giữ tinh thần bản gốc)
|
||||
// if (!bFreeFall && !bTryPull && !bJump)
|
||||
// {
|
||||
// posFoot = vStart - Vector3.up * vExt.y;
|
||||
// countHits = Physics.RaycastNonAlloc(vStart, (vStart + Vector3.down).normalized, hits, vExt.y, mask);
|
||||
// if (countHits > 0)
|
||||
// {
|
||||
// if (hits[0].point.y > posFoot.y)
|
||||
// {
|
||||
// posFoot.y = hits[0].point.y;
|
||||
// }
|
||||
// }
|
||||
// countHits = Physics.RaycastNonAlloc(posFoot, (Vector3.up).normalized, hits, CDRInfo.fStepHeight, mask);
|
||||
// bPull = !(countHits > 0);
|
||||
// if (bPull)
|
||||
// {
|
||||
// vStart += Vector3.up * CDRInfo.fStepHeight;
|
||||
// posFoot = vStart - Vector3.up * vExt.y;
|
||||
// fDeltaDist = (vVelocity.normalized).magnitude;
|
||||
// countHits = Physics.RaycastNonAlloc(posFoot, (posFoot + vVelocity).normalized, hits, fDeltaDist, mask);
|
||||
// bool bMove = !(countHits > 0);
|
||||
|
||||
// if (!bMove)
|
||||
// {
|
||||
// fDeltaDist *= Vector3.Distance(vFinalPos, (hits[0].point + Vector3.up * vExt.y)) / fDeltaDist;
|
||||
// vFinalPos = hits[0].point + Vector3.up * vExt.y;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// vFinalPos += vDelta;
|
||||
// }
|
||||
// if (fDeltaDist < (vExt.x * vExt.x * 4))
|
||||
// {
|
||||
// vFinalPos.y -= CDRInfo.fStepHeight;
|
||||
// bPull = false;
|
||||
// }
|
||||
// }
|
||||
// bTryPull = true;
|
||||
// }
|
||||
|
||||
// if (!bPull)
|
||||
// {
|
||||
// fVelSpeed = Normalize(EC_Utility.ToA3DVECTOR3(vVelocity), ref vVelDir);
|
||||
// fVelSpeed *= (1 - nTry * 0.1f);
|
||||
// dtp = Vector3.Dot(vNormal, EC_Utility.ToVector3(vVelDir));
|
||||
// float fRelSpeed = Mathf.Min(fVelSpeed, 5.0f);
|
||||
|
||||
// if (dtp >= 0f && dtp < 1e-4f)
|
||||
// {
|
||||
// vVelocity += vNormal * VEL_REFLECT * fRelSpeed;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// vVelocity = (EC_Utility.ToVector3(vVelDir) - vNormal * dtp) * fVelSpeed - vNormal * dtp * VEL_REFLECT * fRelSpeed;
|
||||
// }
|
||||
|
||||
// if (fYVel > VEL_EPSILON)
|
||||
// {
|
||||
// if (vNormal.y >= CDRInfo.fSlopeThresh || vNormal.y < -NORMAL_EPSILON)
|
||||
// {
|
||||
// fYVel = 0f;
|
||||
// }
|
||||
// }
|
||||
// else if (fYVel < -VEL_EPSILON)
|
||||
// {
|
||||
// if (vNormal.y >= CDRInfo.fSlopeThresh)
|
||||
// {
|
||||
// fYVel = 0f;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// // “vertical ground trace” – thay RetrieveSupportPlane
|
||||
// Vector3 vTPNormal = Vector3.zero;
|
||||
// Vector3 vFinal = vFinalPos;
|
||||
// //mask = BrushMask;
|
||||
|
||||
// float downDist = 0.3f;
|
||||
// if (bPull) downDist = CDRInfo.fStepHeight + 0.1f;
|
||||
// if (bJump) downDist = 0.0f;
|
||||
|
||||
// if (downDist > 0f)
|
||||
// {
|
||||
// if (!DoGroundProbe(vFinalPos, vExt, downDist, mask, out Vector3 vEnd, out Vector3 groundNormal, out bool bSupport))
|
||||
// {
|
||||
// CDRInfo.fMoveDist = 0f;
|
||||
// CDRInfo.vTPNormal = new A3DVECTOR3(0, 1, 0);
|
||||
// return;
|
||||
// }
|
||||
|
||||
// if (bSupport)
|
||||
// {
|
||||
// vFinal = vEnd;
|
||||
// if (!bJump)
|
||||
// {
|
||||
// vTPNormal = groundNormal;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// if ((vTPNormal.y >= CDRInfo.fSlopeThresh && fYVel < 0.0f) || (!bJump && fYVel > 0.0f))
|
||||
// {
|
||||
// fYVel = 0.0f;
|
||||
// }
|
||||
|
||||
// vDelta = vFinalPos - EC_Utility.ToVector3(CDRInfo.vCenter);
|
||||
// CDRInfo.fMoveDist = vDelta.magnitude;
|
||||
|
||||
// CDRInfo.vCenter = EC_Utility.ToA3DVECTOR3(vFinal);
|
||||
// CDRInfo.fYVel = fYVel;
|
||||
// CDRInfo.vTPNormal = EC_Utility.ToA3DVECTOR3(vTPNormal);
|
||||
//}
|
||||
|
||||
public static void OnGroundMove(ref CDR_INFO CDRInfo)
|
||||
{
|
||||
float VEL_EPSILON = 1E-4f;
|
||||
float DIST_EPSILON = 1e-4f;
|
||||
float NORMAL_EPSILON = 1e-2f;
|
||||
float MAX_TRY = 1;
|
||||
float VEL_MAX_SPEED = 200.0f;
|
||||
float VEL_REFLECT = 0.3f;
|
||||
|
||||
CDRInfo.fMoveDist = 0.0f;
|
||||
|
||||
CDRInfo.fMoveDist = 0.0f; //clear the moving dist
|
||||
|
||||
bool bFreeFall = (CDRInfo.vTPNormal.y < CDRInfo.fSlopeThresh);
|
||||
if (CDRInfo.fYVel < VEL_EPSILON && CDRInfo.fYVel > -VEL_EPSILON && CDRInfo.fSpeed < VEL_EPSILON && CDRInfo.fSpeed > -VEL_EPSILON && !bFreeFall)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
float fYVel = CDRInfo.fYVel;
|
||||
float fYVel = CDRInfo.fYVel; //save the y velocity;
|
||||
|
||||
//@todo : refine the speed to determine the jumping state. By Kuiwu[14/9/2005]
|
||||
bool bJump = (fYVel > 0.5f);
|
||||
//bool bJump = (fYVel > CDRInfo.fGravityAccel * 0.1f);
|
||||
|
||||
A3DVECTOR3 vVelocity = new A3DVECTOR3(CDRInfo.fSpeed* CDRInfo.vXOZVelDir +fYVel * GPDataTypeHelper.g_vAxisY );
|
||||
|
||||
Vector3 vVelocity = CDRInfo.fSpeed * EC_Utility.ToVector3(CDRInfo.vXOZVelDir) + fYVel * Vector3.up;
|
||||
|
||||
if (bFreeFall)
|
||||
{
|
||||
vVelocity += -CDRInfo.fGravityAccel * CDRInfo.t * Vector3.up;
|
||||
fYVel += -CDRInfo.fGravityAccel * CDRInfo.t;
|
||||
vVelocity -= (CDRInfo.fGravityAccel * CDRInfo.t * GPDataTypeHelper.g_vAxisY);
|
||||
fYVel -= CDRInfo.fGravityAccel * CDRInfo.t;
|
||||
}
|
||||
A3DVECTOR3 vVelDir = EC_Utility.ToA3DVECTOR3(vVelocity);
|
||||
A3DVECTOR3 vVelDir = (vVelocity);
|
||||
float fVelSpeed = vVelDir.Normalize();
|
||||
if (!bFreeFall)
|
||||
{
|
||||
if (fVelSpeed > VEL_MAX_SPEED)
|
||||
{
|
||||
fVelSpeed = VEL_MAX_SPEED;
|
||||
}
|
||||
AAssist.a_ClampRoof(ref fVelSpeed, VEL_MAX_SPEED);
|
||||
}
|
||||
vVelocity = EC_Utility.ToVector3(vVelDir) * fVelSpeed;
|
||||
vVelocity = vVelDir * fVelSpeed;
|
||||
//@note : clip the velocity or dir? By Kuiwu[8/9/2005]
|
||||
float dtp = DotProduct(vVelDir, CDRInfo.vTPNormal);
|
||||
if (dtp < 0f || !bJump)
|
||||
if (dtp < 0.0f || !bJump)
|
||||
{
|
||||
vVelocity = EC_Utility.ToVector3((vVelDir -(CDRInfo.vTPNormal) * dtp - (CDRInfo.vTPNormal) * dtp * 0.01f) * fVelSpeed);
|
||||
vVelocity = (vVelDir - CDRInfo.vTPNormal * dtp - CDRInfo.vTPNormal * dtp * 0.01f) * fVelSpeed;
|
||||
//a_LogOutput(1, "dtp < 0.0f || !bJump vVelocity = (%f, %f, %f) || CDRInfo.vTPNormal = (%f, %f, %f)", vVelocity.x, vVelocity.y, vVelocity.z, CDRInfo.vTPNormal.x, CDRInfo.vTPNormal.y, CDRInfo.vTPNormal.z);
|
||||
}
|
||||
|
||||
CDRInfo.vAbsVelocity = EC_Utility.ToA3DVECTOR3(vVelocity);
|
||||
CDRInfo.vAbsVelocity = vVelocity;
|
||||
|
||||
Vector3 vStart = EC_Utility.ToVector3(CDRInfo.vCenter);
|
||||
Vector3 vExt = EC_Utility.ToVector3(CDRInfo.vExtent);
|
||||
A3DVECTOR3 vStart = (CDRInfo.vCenter);
|
||||
A3DVECTOR3 vExt = (CDRInfo.vExtent);
|
||||
float fTime = CDRInfo.t;
|
||||
|
||||
Vector3 vDelta, vNormal = Vector3.zero, vFinalPos = vStart;
|
||||
//A3DVECTOR3 vDelta(vVelocity * fTime);
|
||||
A3DVECTOR3 vDelta;
|
||||
bool bClear = true;
|
||||
int nTry = 0;
|
||||
env_trace_t trcInfo = new env_trace_t();
|
||||
trcInfo.dwCheckFlag = CDR_EVN.CDR_TERRAIN | CDR_EVN.CDR_BRUSH;
|
||||
trcInfo.vExt = vExt;
|
||||
//A3DVECTOR3 vNormal, vFinalPos(vStart);
|
||||
A3DVECTOR3 vNormal, vFinalPos = new A3DVECTOR3();
|
||||
bool bPull = false;
|
||||
bool bTryPull = false;
|
||||
|
||||
int nTry = 0;
|
||||
LayerMask mask = UsedMask_Ground();
|
||||
|
||||
env_trace_t trcInfo = new env_trace_t();
|
||||
trcInfo.dwCheckFlag = CDR_EVN.CDR_TERRAIN | CDR_EVN.CDR_BRUSH;
|
||||
trcInfo.vExt = CDRInfo.vExtent;
|
||||
|
||||
int countHits = 0;
|
||||
while (nTry < 1)
|
||||
while (nTry < MAX_TRY)
|
||||
{
|
||||
vDelta = vVelocity * (fTime);
|
||||
float fDeltaDist = vDelta.magnitude;
|
||||
Vector3 posFoot = vStart - Vector3.up * vExt.y;
|
||||
vDelta = vVelocity * fTime;
|
||||
vFinalPos = vStart;
|
||||
if (fDeltaDist < DIST_EPSILON) break;
|
||||
countHits = Physics.RaycastNonAlloc(vStart, (Vector3.down * vExt.y).normalized, hits, vExt.y, mask);
|
||||
if (countHits > 0)
|
||||
float fDeltaDist = vDelta.Magnitude();
|
||||
//a_LogOutput(1, "fDeltaDist = %f || vVelocity = (%f, %f, %f) || fTime = %f", fDeltaDist, vVelocity.x, vVelocity.y, vVelocity.z, fTime);
|
||||
//if (vDelta.SquaredMagnitude() < DIST_EPSILON )
|
||||
if (fDeltaDist < DIST_EPSILON)
|
||||
{
|
||||
if (hits[0].point.y >= posFoot.y)
|
||||
{
|
||||
posFoot.y = hits[0].point.y;
|
||||
}
|
||||
}
|
||||
//Debug.LogError("fDeltaDist = " + fDeltaDist + " vVelocity = " + vVelocity + " fTime = " + fTime + " speed = " + (fDeltaDist / fTime) + " posFoot + vDelta = " + (posFoot + vDelta) + " posFoot = " + posFoot);
|
||||
countHits = Physics.RaycastNonAlloc(posFoot, (posFoot + vDelta).normalized, hits, fDeltaDist, mask);
|
||||
bool bClear = !(countHits > 0);
|
||||
nTry++;
|
||||
if (bClear || (countHits > 0 && Vector3.Distance(hits[0].point, posFoot) < 0.0009f)) // Is 0.0009f the tolerance used to check if two points are the same?
|
||||
{
|
||||
vFinalPos = vStart + vDelta;
|
||||
CDRInfo.fMoveDist += fDeltaDist;
|
||||
break;
|
||||
}
|
||||
vStart = hits[0].point + Vector3.up * vExt.y;
|
||||
trcInfo.vStart = vStart;
|
||||
trcInfo.vDelta = vDelta;
|
||||
trcInfo.vTerStart = vStart;
|
||||
trcInfo.vTerStart.y -= vExt.y; //foot
|
||||
|
||||
vFinalPos = vStart;
|
||||
countHits = Physics.RaycastNonAlloc(vStart, (Vector3.down).normalized, hits, vExt.y, mask);
|
||||
if (countHits > 0)
|
||||
bClear = !CollideWithEnv(ref trcInfo);
|
||||
|
||||
++nTry;
|
||||
if (trcInfo.bStartSolid)
|
||||
{
|
||||
vNormal = hits[0].normal;
|
||||
CDRInfo.fMoveDist = 0.0f;
|
||||
if (CDRInfo.vTPNormal.y < CDRInfo.fSlopeThresh)
|
||||
{
|
||||
CDRInfo.vTPNormal = new A3DVECTOR3(0.0f, 1.0f, 0.0f);
|
||||
}
|
||||
//a_LogOutput(1, "bClear = true but trcInfo.bStartSolid = true");
|
||||
return;
|
||||
}
|
||||
else
|
||||
if (bClear)
|
||||
{
|
||||
vNormal = Vector3.zero;
|
||||
//a_LogOutput(1, "bClear = true");
|
||||
vFinalPos = vStart + vDelta;
|
||||
break;
|
||||
}
|
||||
|
||||
// Step-up (giữ tinh thần bản gốc)
|
||||
|
||||
vStart += vDelta * trcInfo.fFraction;
|
||||
|
||||
fTime -= fTime * trcInfo.fFraction;
|
||||
vNormal = trcInfo.vHitNormal;
|
||||
if (!bFreeFall && !bTryPull && !bJump)
|
||||
{
|
||||
posFoot = vStart - Vector3.up * vExt.y;
|
||||
countHits = Physics.RaycastNonAlloc(vStart, (vStart + Vector3.down).normalized, hits, vExt.y, mask);
|
||||
if (countHits > 0)
|
||||
{
|
||||
if (hits[0].point.y > posFoot.y)
|
||||
{
|
||||
posFoot.y = hits[0].point.y;
|
||||
}
|
||||
}
|
||||
countHits = Physics.RaycastNonAlloc(posFoot, (Vector3.up).normalized, hits, CDRInfo.fStepHeight, mask);
|
||||
bPull = !(countHits > 0);
|
||||
env_trace_t tmpInfo = new env_trace_t();
|
||||
tmpInfo.vStart = vStart;
|
||||
tmpInfo.vDelta = new A3DVECTOR3(0.0f, CDRInfo.fStepHeight, 0.0f);
|
||||
tmpInfo.vExt = vExt;
|
||||
//@note : need check terrain?? By Kuiwu[8/10/2005]
|
||||
tmpInfo.dwCheckFlag = CDR_EVN.CDR_BRUSH | CDR_EVN.CDR_TERRAIN;
|
||||
tmpInfo.vTerStart = vStart;
|
||||
tmpInfo.vTerStart.y -= vExt.y;
|
||||
|
||||
bPull = !CollideWithEnv(ref tmpInfo);
|
||||
if (bPull)
|
||||
{
|
||||
vStart += Vector3.up * CDRInfo.fStepHeight;
|
||||
posFoot = vStart - Vector3.up * vExt.y;
|
||||
fDeltaDist = (vVelocity.normalized).magnitude;
|
||||
countHits = Physics.RaycastNonAlloc(posFoot, (posFoot + vVelocity).normalized, hits, fDeltaDist, mask);
|
||||
bool bMove = !(countHits > 0);
|
||||
|
||||
vStart.y += CDRInfo.fStepHeight;
|
||||
//vDelta = vVelocity * fTime;
|
||||
vDelta = vVelocity;
|
||||
tmpInfo.vStart = vStart;
|
||||
tmpInfo.vDelta = vDelta;
|
||||
tmpInfo.vTerStart = vStart;
|
||||
tmpInfo.vTerStart.y -= vExt.y;
|
||||
bool bMove = !CollideWithEnv(ref tmpInfo);
|
||||
if (!bMove)
|
||||
{
|
||||
fDeltaDist *= Vector3.Distance(vFinalPos, (hits[0].point + Vector3.up * vExt.y)) / fDeltaDist;
|
||||
vFinalPos = hits[0].point + Vector3.up * vExt.y;
|
||||
vDelta *= tmpInfo.fFraction;
|
||||
}
|
||||
else
|
||||
|
||||
if (vDelta.SquaredMagnitude() < vExt.x * vExt.x * 4)
|
||||
{
|
||||
vFinalPos += vDelta;
|
||||
}
|
||||
if (fDeltaDist < (vExt.x * vExt.x * 4))
|
||||
{
|
||||
vFinalPos.y -= CDRInfo.fStepHeight;
|
||||
vStart.y -= CDRInfo.fStepHeight;
|
||||
bPull = false;
|
||||
}
|
||||
}
|
||||
bTryPull = true;
|
||||
|
||||
}
|
||||
|
||||
if (!bPull)
|
||||
{
|
||||
fVelSpeed = Normalize(EC_Utility.ToA3DVECTOR3(vVelocity), ref vVelDir);
|
||||
fVelSpeed = Normalize(vVelocity, ref vVelDir);
|
||||
fVelSpeed *= (1 - nTry * 0.1f);
|
||||
dtp = Vector3.Dot(vNormal, EC_Utility.ToVector3(vVelDir));
|
||||
float fRelSpeed = Mathf.Min(fVelSpeed, 5.0f);
|
||||
dtp = DotProduct(vNormal, vVelDir);
|
||||
float fRelSpeed = EC_Utility.a_Min(fVelSpeed, 5.0f);
|
||||
|
||||
if (dtp >= 0f && dtp < 1e-4f)
|
||||
{
|
||||
if ((dtp < 1E-4f) && (dtp >= 0.0f))
|
||||
{//@note : special parallel tangent plane case, rarely happen. By Kuiwu[20/10/2005]
|
||||
vVelocity += vNormal * VEL_REFLECT * fRelSpeed;
|
||||
}
|
||||
else
|
||||
{
|
||||
vVelocity = (EC_Utility.ToVector3(vVelDir) - vNormal * dtp) * fVelSpeed - vNormal * dtp * VEL_REFLECT * fRelSpeed;
|
||||
vVelocity = (vVelDir - vNormal * dtp) * fVelSpeed - vNormal * dtp * VEL_REFLECT * fRelSpeed;
|
||||
//vVelocity = (vVelDir - vNormal * dtp - vNormal*dtp * VEL_REFLECT) * fVelSpeed;
|
||||
}
|
||||
|
||||
|
||||
//CDRInfo.fYVel = vVelocity.y;
|
||||
if (fYVel > VEL_EPSILON)
|
||||
{
|
||||
if (vNormal.y >= CDRInfo.fSlopeThresh || vNormal.y < -NORMAL_EPSILON)
|
||||
if ((vNormal.y >= CDRInfo.fSlopeThresh || vNormal.y < -NORMAL_EPSILON))
|
||||
{
|
||||
fYVel = 0f;
|
||||
fYVel = 0.0f;
|
||||
}
|
||||
}
|
||||
else if (fYVel < -VEL_EPSILON)
|
||||
{
|
||||
if (vNormal.y >= CDRInfo.fSlopeThresh)
|
||||
if ((vNormal.y >= CDRInfo.fSlopeThresh))
|
||||
{
|
||||
fYVel = 0f;
|
||||
fYVel = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// “vertical ground trace” – thay RetrieveSupportPlane
|
||||
Vector3 vTPNormal = Vector3.zero;
|
||||
Vector3 vFinal = vFinalPos;
|
||||
//mask = BrushMask;
|
||||
|
||||
float downDist = 0.3f;
|
||||
if (bPull) downDist = CDRInfo.fStepHeight + 0.1f;
|
||||
if (bJump) downDist = 0.0f;
|
||||
|
||||
if (downDist > 0f)
|
||||
{
|
||||
if (!DoGroundProbe(vFinalPos, vExt, downDist, mask, out Vector3 vEnd, out Vector3 groundNormal, out bool bSupport))
|
||||
{
|
||||
CDRInfo.fMoveDist = 0f;
|
||||
CDRInfo.vTPNormal = new A3DVECTOR3(0, 1, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (bSupport)
|
||||
{
|
||||
vFinal = vEnd;
|
||||
if (!bJump)
|
||||
else
|
||||
{
|
||||
vTPNormal = groundNormal;
|
||||
//@note : additional handle something??? By Kuiwu[13/9/2005]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ((vTPNormal.y >= CDRInfo.fSlopeThresh && fYVel < 0.0f) || (!bJump && fYVel > 0.0f))
|
||||
////@note : prevent moving to the invalid area. By Kuiwu[20/9/2005]
|
||||
//if (!IsPosInAvailableMap(vFinalPos))
|
||||
//{
|
||||
// CDRInfo.fMoveDist = 0.0f;
|
||||
// return;
|
||||
//}
|
||||
|
||||
|
||||
A3DVECTOR3 vTPNormal = new A3DVECTOR3();
|
||||
vTPNormal.Clear();
|
||||
|
||||
ground_trace_t groundTrc = new ground_trace_t();
|
||||
groundTrc.vStart = vFinalPos;
|
||||
groundTrc.vExt = vExt;
|
||||
groundTrc.fDeltaY = 0.3f;
|
||||
|
||||
if (bPull)
|
||||
{
|
||||
groundTrc.fDeltaY = CDRInfo.fStepHeight + 0.1f;
|
||||
}
|
||||
if (bJump)
|
||||
{
|
||||
groundTrc.fDeltaY = 0.0f;
|
||||
}
|
||||
|
||||
if (!RetrieveSupportPlane(ref groundTrc))
|
||||
{//@note : do NOT change position. By Kuiwu[14/9/2005]
|
||||
CDRInfo.fMoveDist = 0.0f;
|
||||
// if (groundTrc.bSupport)
|
||||
// {
|
||||
// CDRInfo.vTPNormal = groundTrc.vHitNormal;
|
||||
// }
|
||||
CDRInfo.vTPNormal = new A3DVECTOR3(0.0f, 1.0f, 0.0f);
|
||||
return;
|
||||
}
|
||||
if (groundTrc.bSupport)
|
||||
{
|
||||
vFinalPos = groundTrc.vEnd;
|
||||
if (!bJump)
|
||||
{
|
||||
vTPNormal = groundTrc.vHitNormal;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((vTPNormal.y >= CDRInfo.fSlopeThresh && fYVel < 0.0f)
|
||||
|| (!bJump && fYVel > 0.0f))
|
||||
{
|
||||
fYVel = 0.0f;
|
||||
}
|
||||
|
||||
vDelta = vFinalPos - EC_Utility.ToVector3(CDRInfo.vCenter);
|
||||
CDRInfo.fMoveDist = vDelta.magnitude;
|
||||
CDRInfo.vCenter = vFinalPos;
|
||||
CDRInfo.fYVel = fYVel; //set back the y velocity
|
||||
CDRInfo.vTPNormal = vTPNormal;
|
||||
}
|
||||
|
||||
CDRInfo.vCenter = EC_Utility.ToA3DVECTOR3(vFinal);
|
||||
CDRInfo.fYVel = fYVel;
|
||||
CDRInfo.vTPNormal = EC_Utility.ToA3DVECTOR3(vTPNormal);
|
||||
//@desc : used to retrieve support plane (ground or brush), By Kuiwu[12/9/2005]
|
||||
public struct ground_trace_t
|
||||
{
|
||||
public A3DVECTOR3 vStart;
|
||||
public A3DVECTOR3 vExt;
|
||||
public float fDeltaY; //down (-y)
|
||||
|
||||
public A3DVECTOR3 vEnd;
|
||||
public A3DVECTOR3 vHitNormal;
|
||||
public bool bSupport; //false if ground missed
|
||||
};
|
||||
|
||||
public static bool RetrieveSupportPlane(ref ground_trace_t pTrc)
|
||||
{
|
||||
A3DVECTOR3 vTerrainPos = new A3DVECTOR3(), vTerrainNormal = new A3DVECTOR3();
|
||||
|
||||
GetTerrainInfo(pTrc.vStart, ref vTerrainPos, ref vTerrainNormal);
|
||||
pTrc.bSupport = false;
|
||||
// pTrc.vEnd = pTrc.vStart;
|
||||
// pTrc.vEnd.y -= pTrc.fDeltaY;
|
||||
BrushTraceInfo trcInfo = new BrushTraceInfo();
|
||||
trcInfo.Init(pTrc.vStart, new A3DVECTOR3(0.0f, -pTrc.fDeltaY, 0.0f), pTrc.vExt);
|
||||
if (AABBCollideWithBrush(ref trcInfo))
|
||||
{
|
||||
|
||||
// if (trcInfo.bStartSolid && (!RescueFromSolid(&trcInfo)))
|
||||
// {
|
||||
// pTrc.bSupport = true;
|
||||
// pTrc.vHitNormal = vTerrainNormal;
|
||||
// pTrc.vEnd = pTrc.vStart;
|
||||
// return false;
|
||||
// }
|
||||
if (trcInfo.bStartSolid)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
pTrc.vEnd = trcInfo.vStart + trcInfo.vDelta * trcInfo.fFraction;
|
||||
pTrc.vEnd.y += 0.2f;
|
||||
pTrc.vHitNormal = trcInfo.normal;
|
||||
|
||||
float fUp = pTrc.vExt.y;
|
||||
if (pTrc.vEnd.y > vTerrainPos.y + fUp)
|
||||
{
|
||||
pTrc.vStart = trcInfo.vStart;
|
||||
pTrc.bSupport = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
//if (vTerrainPos.y > pTrc.vStart.y- pTrc.vExt.y )
|
||||
if (vTerrainPos.y > pTrc.vStart.y - pTrc.vExt.y || (vTerrainPos.y <= pTrc.vStart.y - pTrc.vExt.y && vTerrainPos.y >= pTrc.vStart.y - pTrc.vExt.y - pTrc.fDeltaY))
|
||||
{
|
||||
|
||||
pTrc.vEnd = vTerrainPos;
|
||||
//@note : maybe sink in the sleep ground, but this is what I need. By Kuiwu[14/9/2005]
|
||||
pTrc.vEnd.y += (pTrc.vExt.y + 0.01f);
|
||||
A3DVECTOR3 vDelta = new A3DVECTOR3(pTrc.vEnd -pTrc.vStart);
|
||||
trcInfo.Init(pTrc.vStart, vDelta, pTrc.vExt);
|
||||
pTrc.vHitNormal = vTerrainNormal;
|
||||
pTrc.bSupport = true;
|
||||
return !AABBCollideWithBrush(ref trcInfo);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
public static void GetTerrainInfo(A3DVECTOR3 vPos, ref A3DVECTOR3 vPosOnSurface, ref A3DVECTOR3 vNormal)
|
||||
{
|
||||
vPosOnSurface = vPos;
|
||||
int countHits = 0;
|
||||
countHits = Physics.RaycastNonAlloc(EC_Utility.ToVector3(vPosOnSurface), Vector3.down, fHitsTerrain, 1000f, TerrainMask);
|
||||
if (countHits > 0)
|
||||
{
|
||||
vPosOnSurface.y = fHitsTerrain[0].point.y;
|
||||
vNormal = EC_Utility.ToA3DVECTOR3(fHitsTerrain[0].normal);
|
||||
}
|
||||
}
|
||||
|
||||
// Get normalize
|
||||
@@ -659,6 +976,7 @@ namespace BrewMonster
|
||||
Vector3 dir = vDelta;
|
||||
int countHits = 0;
|
||||
float num = 10f;
|
||||
//Quaternion quaternion = EC_Game.GetGameRun().GetWorld().GetPlayerMan().GetHostPlayer().transform.rotation;
|
||||
Vector3[] arrVExt = new Vector3[5] {
|
||||
vExt
|
||||
,new Vector3(vExt.x / num, vExt.y, vExt.z),
|
||||
@@ -668,16 +986,18 @@ namespace BrewMonster
|
||||
};
|
||||
for (int i = 0; i < arrVExt.Length; i++)
|
||||
{
|
||||
countHits = Physics.BoxCastNonAlloc(vStart, vExt, dir.normalized, hits, Quaternion.identity, vDelta.magnitude, BrushMask);
|
||||
countHits = Physics.BoxCastNonAlloc(vStart, arrVExt[i], dir.normalized, hits, Quaternion.identity, vDelta.magnitude, BrushMask);
|
||||
if (countHits > 0)
|
||||
{
|
||||
if(hits[0].distance > 0.0009f)
|
||||
{
|
||||
brushTraceInfo.fFraction = (hits[0].distance - vExt.x) / vDelta.magnitude;
|
||||
brushTraceInfo.fFraction = (hits[0].distance) / vDelta.magnitude;
|
||||
brushTraceInfo.normal = EC_Utility.ToA3DVECTOR3(hits[0].normal);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
brushTraceInfo.normal = new A3DVECTOR3(0f);
|
||||
brushTraceInfo.fFraction = 100f;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -57,6 +57,14 @@ public class CECNPC : CECObject
|
||||
public string ROLEBASICPROP => m_strName;*/
|
||||
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
m_DisappearCnt = new CECCounter();
|
||||
m_IdleCnt = new CECCounter();
|
||||
m_TransCnt = new CECCounter();
|
||||
m_aWorks = new int[4];
|
||||
}
|
||||
|
||||
public virtual void SetUpCECNPC(CECNPCMan pNPCMan)
|
||||
{
|
||||
base.SetUpCECObject();
|
||||
@@ -571,7 +579,7 @@ public class CECNPC : CECObject
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
float GetTransparentLimit()
|
||||
public float GetTransparentLimit()
|
||||
{
|
||||
if ((m_dwStates & (uint)PlayerNPCState.GP_STATE_INVISIBLE) != 0)
|
||||
{
|
||||
@@ -939,10 +947,18 @@ public class CECNPC : CECObject
|
||||
{
|
||||
return;
|
||||
}
|
||||
var model = await NPCBuilder.Instance.GetModelByPath(AFile.NormalizePath(szModelFile.ToLower(), true));
|
||||
if (model == null)
|
||||
GameObject model = null;
|
||||
try
|
||||
{
|
||||
model = await NPCBuilder.Instance.GetModelByPath(AFile.NormalizePath(szModelFile.ToLower(), true));
|
||||
if (model == null)
|
||||
{
|
||||
model = GameObject.CreatePrimitive(PrimitiveType.Capsule);
|
||||
BMLogger.LogWarning($" CECNPC.QueueLoadNPCModel model == null szModelFile= {szModelFile} ");
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
model = GameObject.CreatePrimitive(PrimitiveType.Capsule);
|
||||
BMLogger.LogWarning($" CECNPC.QueueLoadNPCModel model == null szModelFile= {szModelFile} ");
|
||||
}
|
||||
@@ -1154,12 +1170,8 @@ public class CECNPC : CECObject
|
||||
{
|
||||
return m_pNPCModelPolicy.GetCHAABB(ref aabb);
|
||||
}
|
||||
void SetPos(Vector3 pos)
|
||||
public void SetPos(Vector3 pos)
|
||||
{
|
||||
if (-2041570812 == m_NPCInfo.nid)
|
||||
{
|
||||
BMLogger.LogError("CECNPC::SetPos,else pos=" + pos);
|
||||
}
|
||||
transform.position = pos;
|
||||
}
|
||||
public void MoveTo(cmd_object_move Cmd)
|
||||
@@ -1516,7 +1528,16 @@ public class CECNPC : CECObject
|
||||
}
|
||||
m_pNPCModelPolicy.PlayModelAction(iAction, bRestart, null);
|
||||
}
|
||||
bool IsDisappearing() { return m_DisappearCnt.GetCounter() != 0 ? true : false; }
|
||||
|
||||
bool IsDisappearing()
|
||||
{
|
||||
if(m_DisappearCnt != null)
|
||||
{
|
||||
return m_DisappearCnt.GetCounter() != 0 ? true : false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int GetTemplateID() { return m_NPCInfo.tid; }
|
||||
|
||||
public float GetTouchRadius() { return m_fTouchRad; }
|
||||
@@ -1574,6 +1595,9 @@ public class CECNPC : CECObject
|
||||
// Get distance to host player
|
||||
public float GetDistToHost() { return m_fDistToHost; }
|
||||
public float GetDistToHostH() { return m_fDistToHostH; }
|
||||
|
||||
// Get NPC name color
|
||||
public virtual uint GetNameColor() { return 0xffffff00; }
|
||||
}
|
||||
public struct ClearComActFlagEvent
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using BrewMonster;
|
||||
using CSNetwork.GPDataType;
|
||||
using CSNetwork.Protocols;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -200,4 +201,8 @@ public class CECNPCModelDefaultPolicy
|
||||
_npcVisual = npcVisual;
|
||||
}
|
||||
|
||||
public override void SetDefaultPickAABBExt(A3DVECTOR3 vExt)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,5 +15,6 @@ namespace BrewMonster
|
||||
public abstract bool PlayAttackAction(int nAttackSpeed, CECAttackEvent attackevent);
|
||||
public abstract bool GetCHAABB(ref A3DAABB ab);
|
||||
public abstract void StopChannelAction();
|
||||
public abstract void SetDefaultPickAABBExt(CSNetwork.GPDataType.A3DVECTOR3 vExt);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,260 @@
|
||||
using BrewMonster.Network;
|
||||
using BrewMonster.Scripts.World;
|
||||
using CSNetwork.GPDataType;
|
||||
using PerfectWorld.Scripts.Managers.BrewMonster.Managers;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BrewMonster
|
||||
{
|
||||
public class CECPet : CECNPC
|
||||
{
|
||||
// Data in database
|
||||
PET_ESSENCE? m_pDBEssence;
|
||||
string m_strCompName; // Complete name with master's name
|
||||
|
||||
public CECPet(CECNPCMan pNPCMan)
|
||||
{
|
||||
m_iCID = (int)Class_ID.OCID_PET;
|
||||
m_pDBEssence = null;
|
||||
m_fTouchRad = 1.0f;
|
||||
}
|
||||
|
||||
// Initlaize object
|
||||
public override bool Init(int tid, in info_npc Info, ReadOnlySpan<byte> packet, int infoOffset)
|
||||
{
|
||||
if (!base.Init(tid, Info, packet, infoOffset))
|
||||
return false;
|
||||
|
||||
// Get database data
|
||||
var pDB = ElementDataManProvider.GetElementDataMan();
|
||||
DATA_TYPE DataType = new DATA_TYPE();
|
||||
object pDBData = pDB.get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
|
||||
|
||||
if (pDBData == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
byte[] szModelFile = null;
|
||||
|
||||
if (DataType == DATA_TYPE.DT_MONSTER_ESSENCE)
|
||||
{
|
||||
MONSTER_ESSENCE pMonsterData = (MONSTER_ESSENCE)pDBData;
|
||||
szModelFile = pMonsterData.file_model;
|
||||
|
||||
object pObEggData = pDB.get_data_ptr(pMonsterData.id_pet_egg_captured, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
|
||||
if (pObEggData == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var pEggData = (PET_EGG_ESSENCE)pObEggData;
|
||||
m_pDBEssence = (PET_ESSENCE)pDB.get_data_ptr((uint)pEggData.id_pet, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
|
||||
m_NPCInfo.tid = pEggData.id_pet;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pDBEssence = (PET_ESSENCE)pDBData;
|
||||
szModelFile = m_pDBEssence.Value.file_model;
|
||||
}
|
||||
|
||||
if (m_pDBEssence == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
SetUseGroundNormal(m_pDBEssence.Value.stand_mode == 0 ? true : false);
|
||||
m_fTouchRad = m_pDBEssence.Value.size;
|
||||
m_BasicProps.iLevel = 1;
|
||||
|
||||
// Submit EC model loading request to loading thread
|
||||
QueueLoadNPCModel();
|
||||
|
||||
float fExt = m_fTouchRad * 1.5f;
|
||||
m_cdr.vExts.Set(fExt, fExt, fExt);
|
||||
m_pNPCModelPolicy.SetDefaultPickAABBExt(m_cdr.vExts);
|
||||
|
||||
// If NPC doesn't have specific name, use the name in database
|
||||
if ((Info.state & PlayerNPCState.GP_STATE_NPC_NAME) == 0)
|
||||
{
|
||||
m_strName = new string(m_pDBEssence.Value.name
|
||||
.TakeWhile(c => c != 0)
|
||||
.Select(c => (char)c)
|
||||
.ToArray()
|
||||
);
|
||||
EC_Game.GetGameRun().GetUIManager().FilterBadWords(ref m_strName);
|
||||
// Try to build complete name
|
||||
BuildCompleteName();
|
||||
}
|
||||
|
||||
if ((Info.state & PlayerNPCState.GP_STATE_NPC_PET) != 0)
|
||||
{
|
||||
if (!IsPlantPet())
|
||||
{
|
||||
// 非植物宠时,能够从宠物面板和玩家面板中相互追踪
|
||||
CECPlayer pPlayer = EC_Game.GetGameRun().GetWorld().GetPlayerMan().GetPlayer(m_idMaster);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer.SetCurPetID(Info.nid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_FORBID_SELECTION) != 0)
|
||||
{
|
||||
SetSelectable(false);
|
||||
}
|
||||
|
||||
A3DVECTOR3 vPos = Info.pos;
|
||||
SetPos(EC_Utility.ToVector3(vPos));
|
||||
SetDirAndUp(EC_Utility.ToVector3(EC_Utility.glb_DecompressDirH(Info.dir)), g_vAxisY);
|
||||
|
||||
StartWork((int)WorkType.WT_NOTHING, (int)WorkID.WORK_STAND);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Tick routine
|
||||
protected override void Update()
|
||||
{
|
||||
base.Update();
|
||||
if (m_strCompName != null && m_strCompName.Length == 0)
|
||||
{
|
||||
// Try to build complete name
|
||||
BuildCompleteName();
|
||||
}
|
||||
}
|
||||
|
||||
// Get NPC name color
|
||||
public virtual uint GetNameColor()
|
||||
{
|
||||
EC_ManPlayer pPlayerMan = EC_Game.GetGameRun().GetWorld().GetPlayerMan();
|
||||
CECPlayer pPlayer = pPlayerMan.GetPlayer(m_idMaster);
|
||||
if (!pPlayer)
|
||||
return base.GetNameColor();
|
||||
|
||||
return pPlayer.GetNameColor();
|
||||
}
|
||||
|
||||
public virtual bool IsImmuneDisable()
|
||||
{
|
||||
if(m_pDBEssence == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_HIDE_IMMUNE) != 0)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
public virtual float GetTransparentLimit()
|
||||
{
|
||||
if (m_pDBEssence != null)
|
||||
{
|
||||
if ((m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_FORBID_SELECTION) != 0)
|
||||
{
|
||||
return -1.0f;
|
||||
}
|
||||
|
||||
}
|
||||
return base.GetTransparentLimit();
|
||||
}
|
||||
public virtual bool ShouldHideName()
|
||||
{
|
||||
if (m_pDBEssence == null) { return false; }
|
||||
return (m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_HIDE_NAME) != 0;
|
||||
}
|
||||
|
||||
// Is this host player's pet
|
||||
public bool IsHostPet()
|
||||
{
|
||||
CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer();
|
||||
return GetMasterID() == pHost.GetCharacterID();
|
||||
}
|
||||
// Is this pet attackable;
|
||||
public bool CanBeAttacked()
|
||||
{
|
||||
return IsCombatPet()
|
||||
|| IsSummonPet()
|
||||
|| IsPlantPet()
|
||||
|| IsEvolutionPet();
|
||||
}
|
||||
// Is a follow pet ?
|
||||
public bool IsFollowPet()
|
||||
{
|
||||
if (m_pDBEssence != null)
|
||||
return m_pDBEssence.Value.id_type == 8783;
|
||||
|
||||
return false;
|
||||
}
|
||||
// Is a combat pet ?
|
||||
public bool IsCombatPet()
|
||||
{
|
||||
if (m_pDBEssence != null)
|
||||
return m_pDBEssence.Value.id_type == 8782;
|
||||
|
||||
return false;
|
||||
}
|
||||
// 是否为召唤宠
|
||||
public bool IsSummonPet()
|
||||
{
|
||||
if(m_pDBEssence == null) return false;
|
||||
return m_pDBEssence.Value.id_type == 28752;
|
||||
}
|
||||
// 是否为植物宠
|
||||
public bool IsPlantPet()
|
||||
{
|
||||
if (m_pDBEssence == null) return false;
|
||||
return m_pDBEssence.Value.id_type == 28913;
|
||||
}
|
||||
// 是否是进化宠
|
||||
public bool IsEvolutionPet()
|
||||
{
|
||||
if (m_pDBEssence == null) return false;
|
||||
return m_pDBEssence.Value.id_type == 37698;
|
||||
}
|
||||
|
||||
public PET_ESSENCE? GetDBEssence() { return m_pDBEssence; }
|
||||
|
||||
// Build complete name
|
||||
public void BuildCompleteName()
|
||||
{
|
||||
//if (!m_npcUI) return;
|
||||
//var szMasterName = EC_Game.GetGameRun().GetPlayerName(m_idMaster, false);
|
||||
//if (!szMasterName) return;
|
||||
|
||||
//string strMasterName = szMasterName;
|
||||
|
||||
//CECWorld pWorld = EC_Game.GetGameRun().GetWorld();
|
||||
//if (pWorld.IsCountryWarMap() &&
|
||||
// !CECUIConfig::Instance().GetGameUI().bShowNameInCountryWar)
|
||||
//{
|
||||
// // 国战场景中,不直接显示宠物主人名称时,要求查询到此主人信息
|
||||
// // 此改动(if语句中的内容)将导致主人未出现时无法看到宠物名称
|
||||
// // if 括号中的判断是必要的,将增加看到宠物名称的机会
|
||||
|
||||
// EC_ManPlayer pPlayerMan = pWorld.GetPlayerMan();
|
||||
// CECPlayer pPlayer = pPlayerMan.GetPlayer(m_idMaster);
|
||||
// if (!pPlayer)
|
||||
// {
|
||||
// // 还没看到此玩家,无法判断其国家,还不能确定如何显示
|
||||
// return;
|
||||
// }
|
||||
// if (pPlayer.GetShowNameInCountryWar())
|
||||
// strMasterName = pPlayer.GetNameInCountryWar();
|
||||
//}
|
||||
|
||||
//m_strCompName.Format(g_pGame.GetFixedMsgTab().GetWideString(FIXMSG_WHOSETHING), strMasterName, m_strName);
|
||||
//m_npcUI.SetName(m_strCompName);
|
||||
}
|
||||
|
||||
public override void SetUpCECNPC(CECNPCMan pNPCMan)
|
||||
{
|
||||
base.SetUpCECNPC(pNPCMan);
|
||||
m_iCID = (int)Class_ID.OCID_PET;
|
||||
m_pDBEssence = null;
|
||||
m_fTouchRad = 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6af68acbb8354d04f9c00df83d3eec60
|
||||
@@ -1578,6 +1578,12 @@ namespace CSNetwork.S2CCommand
|
||||
{
|
||||
public int faction_id;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_summon_pet
|
||||
{
|
||||
public uint pet_index;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_embed_item
|
||||
|
||||
@@ -955,6 +955,13 @@ namespace CSNetwork.C2SCommand
|
||||
pCmd.faction_id = faction_id;
|
||||
return SerializeCommand(CommandID.QUERY_MAFIA_PVP_INFO, pCmd);
|
||||
}
|
||||
|
||||
public static Octets CreatePetSummon(int iPetIdx)
|
||||
{
|
||||
S2CCommand.cmd_summon_pet pCmd = new S2CCommand.cmd_summon_pet();
|
||||
pCmd.pet_index = (uint)iPetIdx;
|
||||
return SerializeCommand(CommandID.SUMMON_PET, pCmd);
|
||||
}
|
||||
|
||||
public static Octets CreateNPCSevEmbedCmd(
|
||||
ushort wStoneIdx,
|
||||
|
||||
@@ -2335,55 +2335,28 @@ namespace CSNetwork.GPDataType
|
||||
};
|
||||
public struct info_pet
|
||||
{
|
||||
public int honor_point; // �øж�
|
||||
public int hunger; // ������
|
||||
public int feed_time; // �ϴ�ι�������ڵ�ʱ��
|
||||
public int pet_tid; // ������ID
|
||||
public int pet_vis_tid; // ����Ŀɼ�ID�����Ϊ0�����ʾ������ɼ�ID��
|
||||
public int pet_egg_tid; // ���ﵰ��ID
|
||||
public int pet_class; // �������� ս�裬��裬���ͳ�
|
||||
public float hp_factor; // Ѫ��������������ջ�ʱʹ�ã� 0��Ϊ����
|
||||
public short level; // ���V��
|
||||
public ushort color; // ������ɫ�����λΪ1��ʾ��Ч��Ŀǰ���������Ч
|
||||
public int exp; // ���ﵱǰ����
|
||||
public int skill_point; // ʣ�༼�ܵ�
|
||||
public char is_bind; // �Ƿ����˺�һ��������һ��Mask��0x01 ���˺�һ��0x02 Ѱ�����ɽ���
|
||||
public char unused; // Ŀǰ������Ч
|
||||
public ushort name_len; // ���ֳ��� Ŀǰ������Ч����Ϊ��������������
|
||||
public char[] name; // ��������
|
||||
public PetSkill[] skills;
|
||||
public int honor_point; // ºÃ¸Ð¶È
|
||||
public int hunger; // ¼¢¶ö¶È
|
||||
public int feed_time; // ÉÏ´ÎÎ¹Ñøµ½ÏÖÔÚµÄʱ¼ä
|
||||
public int pet_tid; // ³èÎïµÄÄ£°åID
|
||||
public int pet_vis_tid; // ³èÎïµÄ¿É¼ûID£¨Èç¹ûΪ0£¬Ôò±íʾÎÞÌØÊâ¿É¼ûID£©
|
||||
public int pet_egg_tid; // ³èÎïµ°µÄID
|
||||
public int pet_class; // ³èÎïÀàÐÍ Õ½³è£¬Æï³è£¬¹ÛÉͳè
|
||||
public float hp_factor; // ѪÁ¿±ÈÀý£¨¸´»îºÍÊÕ»ØÊ±Ê¹Óã© 0ÔòΪËÀÍö
|
||||
public short level; // ³èÎï¼¶±ð
|
||||
public ushort color; // ³èÎïÑÕÉ«£¬×î¸ßλΪ1±íʾÓÐЧ£¬Ä¿Ç°½ö¶ÔÆï³èÓÐЧ
|
||||
public int exp; // ³èÎﵱǰ¾Ñé
|
||||
public int skill_point; // Ê£Ó༼Äܵã
|
||||
public char is_bind; // ÊÇ·ñÌìÈ˺ÏÒ»£¬ÏÖÔÚÊÇÒ»¸öMask£¬0x01 ÌìÈ˺ÏÒ»£¬0x02 Ѱ±¦Íø¿É½»Ò×
|
||||
public char unused; // Ŀǰ´ËÏîÎÞЧ
|
||||
public ushort name_len; // Ãû×Ö³¤¶È Ŀǰ´ËÏîÎÞЧ£¨ÒòΪ²ß»®ÉÐÎÞÃû×ÖÐèÇó£©
|
||||
public _evo_prop evo_prop;
|
||||
public int[] reserved; // �
|
||||
public info_pet(bool isDefault = true)
|
||||
{
|
||||
honor_point = 0;
|
||||
hunger = 0;
|
||||
feed_time = 0;
|
||||
pet_tid = 0;
|
||||
pet_vis_tid = 0;
|
||||
pet_egg_tid = 0;
|
||||
pet_class = 0;
|
||||
hp_factor = 0;
|
||||
level = 0;
|
||||
color = 0;
|
||||
exp = 0;
|
||||
skill_point = 0;
|
||||
is_bind = (char)0x00;
|
||||
unused = (char)0x00;
|
||||
name_len = 0;
|
||||
name = new char[16];
|
||||
skills = new PetSkill[(int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM];
|
||||
evo_prop = new _evo_prop
|
||||
{
|
||||
r_attack = 0,
|
||||
r_defense = 0,
|
||||
r_hp = 0,
|
||||
r_atk_lvl = 0,
|
||||
r_def_lvl = 0,
|
||||
nature = 0
|
||||
};
|
||||
reserved = new int[10];
|
||||
}
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
||||
public char[] name; // Ãû×ÖÄÚÈÝ
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM)]
|
||||
public _skills[] skills;
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
|
||||
public int[] reserved; // δÓÃ
|
||||
};
|
||||
public enum REFUSE_BLESS_MASK : byte
|
||||
{
|
||||
@@ -2396,5 +2369,203 @@ namespace CSNetwork.GPDataType
|
||||
public byte force_attack;
|
||||
public byte refuse_bless;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct _skills
|
||||
{
|
||||
public int skill;
|
||||
public int level;
|
||||
}
|
||||
|
||||
public enum eGP_PET_NATURE_SKILL
|
||||
{
|
||||
GP_PET_NATURE_SKILL_NUM = 2
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct CMDPARAM
|
||||
{
|
||||
public int idSkill;
|
||||
public byte byPVPMask;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_room
|
||||
{
|
||||
public ushort count;
|
||||
// ÖØ¸´ count ´Î
|
||||
// int index;
|
||||
// info_pet data;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_plant_pet_disapper
|
||||
{
|
||||
public int plant_nid;
|
||||
public char reason; // 0 ËÀÍö£¬1 ÊÙÃüµ½£¬2 ³¬³ö·¶Î§£¬3 ×Ô±¬£¬4 ÊýÁ¿³¬³ö×éÉÏÏÞ
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_gain_pet
|
||||
{
|
||||
public int slot_index; // ´Ë³èÎï·ÅÓÚ³èÎïÀ¸ÄÚµÄλÖÃ
|
||||
public info_pet data; // pet data
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_free_pet
|
||||
{
|
||||
public int slot_index;
|
||||
public int pet_id; // ³èÎïµÄid£¬ÎÞ´óÓÃ
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_summon_pet
|
||||
{
|
||||
public int slot_index;
|
||||
public int pet_tid;
|
||||
public int pet_pid;
|
||||
public int life_time;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_recall_pet
|
||||
{
|
||||
public int slot_index;
|
||||
public int pet_id;
|
||||
public char reason;
|
||||
};
|
||||
|
||||
public enum PET_RECALL_REASON
|
||||
{
|
||||
PET_RECALL_DEFAULT, // ĬÈÏÕٻأ¬Ö÷ÒªÔÒòÎªÍæ¼ÒÖ÷¶¯Õٻء¢Íæ¼ÒÕÙ»½³öÆäËüÔÒòµ¼ÖÂÔÓгèÎïÕٻصÈ
|
||||
PET_RECALL_DEATH, // ³èÎïËÀÍöµ¼ÖÂÕÙ»ØÏûÏ¢
|
||||
PET_RECALL_LIFE_EXHAUST, // ³èÎïʱÏÞµ½
|
||||
PET_RECALL_SACRIFICE, // ³èÎïÎþÉü£¨Íæ¼ÒʹÓü¼Äܵȵ¼Ö£©
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_player_start_pet_op
|
||||
{
|
||||
public int slot_index;
|
||||
public int pet_id;
|
||||
public int delay; // ÑÓ³Ùʱ¼ä£¬µ¥Î»ÊÇ50msµÄtick
|
||||
public int op; // ²Ù×÷ÀàÐÍ 0:·Å³ö 1:ÕÙ»Ø 2:·ÅÉú
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_receive_exp
|
||||
{
|
||||
public int slot_index;
|
||||
public int pet_id;
|
||||
public int exp;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_levelup
|
||||
{
|
||||
public int slot_index;
|
||||
public int pet_id;
|
||||
public int level; // м¶±ð
|
||||
public int exp; // µ±Ç°µÄ¾ÑéÖµ
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_room_capacity
|
||||
{
|
||||
public uint capacity;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_honor_point
|
||||
{
|
||||
public int index;
|
||||
public int cur_honor_point;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_hunger_gauge
|
||||
{
|
||||
public int index;
|
||||
public int cur_hunge_gauge;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_dead
|
||||
{
|
||||
public uint pet_index;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_revive
|
||||
{
|
||||
public uint pet_index;
|
||||
public float hp_factor;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_hp_notify
|
||||
{
|
||||
public uint pet_index;
|
||||
public float hp_factor;
|
||||
public int cur_hp;
|
||||
public float mp_factor;
|
||||
public int cur_mp;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_ai_state
|
||||
{
|
||||
public byte attack; // 0 ·ÀÓùÐÍ; 1 Ö÷¶¯ÐÍ; 2 ±»¶¯ÐÍ
|
||||
public byte move; // 0 ¸úËæ; 1 ÔµØÍ£Áô
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_set_cooldown
|
||||
{
|
||||
public int pet_index;
|
||||
public int cooldown_index;
|
||||
public int cooldown_time;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_pet_property
|
||||
{
|
||||
public int pet_index;
|
||||
public BrewMonster.Scripts.ROLEEXTPROP prop;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_set_player_limit
|
||||
{
|
||||
public int index;
|
||||
public char b; // 1 ÏÞÖÆ 0 ²»ÏÞÖÆ
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_player_mounting
|
||||
{
|
||||
public int id;
|
||||
public int mount_id;
|
||||
public ushort mount_color;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_summon_plant_pet
|
||||
{
|
||||
public int plant_tid;
|
||||
public int plant_nid;
|
||||
public int life_time;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct cmd_plant_pet_hp_notify
|
||||
{
|
||||
public int plant_nid;
|
||||
public float hp_factor;
|
||||
public int cur_hp;
|
||||
public float mp_factor;
|
||||
public int cur_mp;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -831,7 +831,7 @@ namespace CSNetwork
|
||||
#if UNITY_EDITOR
|
||||
BMLogger.LogError($"### GameDataSend: ERROR_MESSAGE parsed iMessage={pCmd.iMessage}");
|
||||
#endif
|
||||
|
||||
Debug.LogError($"### GameDataSend: ERROR_MESSAGE: {errRaw}");
|
||||
if (pCmd.iMessage != 0)
|
||||
{
|
||||
// string szMsg = m_ErrorMsgs.GetWideString(pCmd.iMessage);
|
||||
@@ -1085,6 +1085,42 @@ namespace CSNetwork
|
||||
BMLogger.LogError("### GameDataSend: LEARN_SKILL");
|
||||
EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_LEARNSKILL, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader);
|
||||
break;
|
||||
case CommandID.GAIN_PET:
|
||||
case CommandID.FREE_PET:
|
||||
case CommandID.SUMMON_PET:
|
||||
case CommandID.RECALL_PET:
|
||||
case CommandID.PLAYER_START_PET_OP:
|
||||
case CommandID.PLAYER_STOP_PET_OP:
|
||||
case CommandID.PET_RECEIVE_EXP:
|
||||
case CommandID.PET_LEVELUP:
|
||||
case CommandID.PET_ROOM:
|
||||
case CommandID.PET_ROOM_CAPACITY:
|
||||
case CommandID.PET_HONOR_POINT:
|
||||
case CommandID.PET_HUNGER_GAUGE:
|
||||
case CommandID.PET_DEAD:
|
||||
case CommandID.PET_REVIVE:
|
||||
case CommandID.PET_HP_NOTIFY:
|
||||
case CommandID.PET_AI_STATE:
|
||||
case CommandID.PET_SET_COOLDOWN:
|
||||
case CommandID.SUMMON_PLANT_PET:
|
||||
case CommandID.PLANT_PET_DISAPPEAR:
|
||||
case CommandID.PLANT_PET_HP_NOTIFY:
|
||||
case CommandID.PET_PROPERTY:
|
||||
case CommandID.PET_REBUILD_INHERIT_START:
|
||||
case CommandID.PET_REBUILD_INHERIT_INFO:
|
||||
case CommandID.PET_REBUILD_INHERIT_END:
|
||||
case CommandID.PET_EVOLUTION_DONE:
|
||||
case CommandID.PET_REBUILD_NATURE_START:
|
||||
case CommandID.PET_REBUILD_NATURE_INFO:
|
||||
case CommandID.PET_REBUILD_NATURE_END:
|
||||
EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_PETOPT, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader);
|
||||
break;
|
||||
case CommandID.SET_PLAYER_LIMIT:
|
||||
EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_SETPLAYERLIMIT, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader);
|
||||
break;
|
||||
case CommandID.PLAYER_MOUNTING:
|
||||
EC_ManMessage.PostMessage(EC_MsgDef.MSG_PM_PLAYERMOUNT, MANAGER_INDEX.MAN_PLAYER, -1, pDataBuf, pCmdHeader);
|
||||
break;
|
||||
case CommandID.EMBED_ITEM:
|
||||
EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_EMBEDITEM, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader);
|
||||
break;
|
||||
@@ -1160,8 +1196,6 @@ namespace CSNetwork
|
||||
PostToUnityContext(() => Disconnected?.Invoke());
|
||||
}
|
||||
|
||||
// --- Protocol Handling Logic ---
|
||||
|
||||
private void HandleChallenge(challenge challenge)
|
||||
{
|
||||
if (_loginCallback == null || string.IsNullOrEmpty(_username))
|
||||
@@ -1869,6 +1903,19 @@ namespace CSNetwork
|
||||
gamedatasend.Data = C2SCommandFactory.CreateQueryFactionPVPInfo(faction_id);
|
||||
SendProtocol(gamedatasend);
|
||||
}
|
||||
|
||||
public void SendCmdPetCtrl(int idTarget, int cmd, object pParamBuf, int iParamLen)
|
||||
{
|
||||
m_CmdCache.SendCmdPetCtrl(idTarget, cmd, (byte[])pParamBuf, iParamLen);
|
||||
}
|
||||
|
||||
public void c2s_SendCmdPetSummon(int iPetIdx)
|
||||
{
|
||||
gamedatasend gamedatasend = new gamedatasend();
|
||||
gamedatasend.Data = C2SCommandFactory.CreatePetSummon(iPetIdx);
|
||||
SendProtocol(gamedatasend);
|
||||
}
|
||||
|
||||
public void c2s_SendCmdNPCSevEmbed(ushort wStoneIdx, ushort wEquipIdx, int tidStone, int tidEquip)
|
||||
{
|
||||
gamedatasend gamedatasend = new gamedatasend();
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 64353be2a0c1d704cb4392f919960f91
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d73d6ebcbf227b478aec9344986734f
|
||||
@@ -1,3 +1,5 @@
|
||||
using BrewMonster.Assets.PerfectWorld.Scripts.Players;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BrewMonster
|
||||
@@ -14,10 +16,33 @@ namespace BrewMonster
|
||||
public class CECActionContext
|
||||
{
|
||||
public ActionContextType ContextType { get; set; }
|
||||
public List<CECActionBase> m_actions;
|
||||
CECHostPlayer m_pHostPlayer;
|
||||
bool m_bForceRemove;
|
||||
CECContextValidChecker m_ErrorCtr;
|
||||
|
||||
public bool IsContext(ActionContextType contextType)
|
||||
{
|
||||
return ContextType == contextType;
|
||||
}
|
||||
|
||||
public int GetActionCount() { return m_actions.Count; }
|
||||
|
||||
public CECActionBase GetLastAction()
|
||||
{
|
||||
return GetAction(GetActionCount() - 1);
|
||||
}
|
||||
|
||||
public CECActionBase GetAction(int index)
|
||||
{
|
||||
if (index >= 0 && index < GetActionCount())
|
||||
return m_actions[index];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual bool NeedCheckValid() { return false; }
|
||||
public CECHostPlayer GetHostPlayer() { return m_pHostPlayer;}
|
||||
public void SetForceRemove(bool v) { m_bForceRemove = v; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,186 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace BrewMonster.Assets.PerfectWorld.Scripts.Players
|
||||
{
|
||||
public abstract class CECActionBase
|
||||
{
|
||||
public enum ACTION_RESULT
|
||||
{
|
||||
FD_NONE = 0,
|
||||
FD_SUCC,
|
||||
FD_FAIL,
|
||||
};
|
||||
|
||||
public CECHostPlayer m_pHostPlayer;
|
||||
public ACTION_RESULT m_iFirstDoRes;
|
||||
public CECActionSequencedRelationFilter m_ActionFilter;
|
||||
|
||||
public CECActionBase(CECHostPlayer pHost)
|
||||
{
|
||||
m_pHostPlayer = pHost;
|
||||
m_iFirstDoRes = (ACTION_RESULT.FD_NONE);
|
||||
m_ActionFilter = null;
|
||||
}
|
||||
|
||||
public bool NeedBeRemoved()
|
||||
{
|
||||
return (m_iFirstDoRes != ACTION_RESULT.FD_NONE);
|
||||
}
|
||||
public CECActionSequencedRelationFilter GetActionFilter() { return m_ActionFilter; }
|
||||
|
||||
public abstract bool CanDo();
|
||||
public abstract bool DoOnce();
|
||||
|
||||
public virtual bool Update(uint dt)
|
||||
{
|
||||
FlagKeeper keeper = new FlagKeeper(m_pHostPlayer.GetActionSwitcher());
|
||||
|
||||
// do once
|
||||
if (CanDo() && m_iFirstDoRes == ACTION_RESULT.FD_NONE)
|
||||
m_iFirstDoRes = DoOnce() ? ACTION_RESULT.FD_SUCC : ACTION_RESULT.FD_FAIL;
|
||||
|
||||
return true;
|
||||
}
|
||||
public virtual bool CanAddTo(CECActionContext pContext)
|
||||
{
|
||||
return m_ActionFilter != null && m_ActionFilter.CanAddAction(pContext, this);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
public abstract class CECFitlerBase
|
||||
{
|
||||
public abstract bool CanAddAction(CECActionContext pContext, CECActionBase pAct);
|
||||
}
|
||||
|
||||
public abstract class CECActionSequencedRelationFilter : CECFitlerBase
|
||||
{
|
||||
public override bool CanAddAction(CECActionContext pContext, CECActionBase pAct)
|
||||
{
|
||||
// If the action queue is empty and the action can be executed, then add it.
|
||||
if (pContext.GetActionCount() == 0 && pAct.CanDo())
|
||||
return true;
|
||||
|
||||
// Determine the predecessor–successor order relationship of actions in the action queue.
|
||||
CECActionBase pLastAct = pContext != null ? pContext.GetLastAction() : null;
|
||||
CECActionSequencedRelationFilter filter = pLastAct != null ? pLastAct.GetActionFilter() : null;
|
||||
if (filter != null && filter.IsPredecessorTo(pAct.GetActionFilter()))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public abstract bool IsPredecessorTo(CECActionSequencedRelationFilter cECActionSequencedRelationFilter);
|
||||
|
||||
public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return false; }
|
||||
public virtual bool IsSuccessorTo(CECRideActionFilter pFilter) { return false; }
|
||||
public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return false; }
|
||||
public virtual bool IsSuccessorTo(CECFlyActionFilter pFilter) { return false; }
|
||||
public virtual bool IsSuccessorTo(CECSkillActionFilter pFilter) { return false; }
|
||||
public virtual bool IsSuccessorTo(CECUseSkillItemActionFilter pFilter) { return false; }
|
||||
};
|
||||
|
||||
public class FlagKeeper
|
||||
{
|
||||
public CECActionSwitcherBase m_pSwitcher;
|
||||
public FlagKeeper(CECActionSwitcherBase pSwitcher)
|
||||
{
|
||||
m_pSwitcher = pSwitcher;
|
||||
pSwitcher.SetPostMessageFlag(false);
|
||||
}
|
||||
};
|
||||
|
||||
public class CECCancelRideActionFilter : CECActionSequencedRelationFilter
|
||||
{
|
||||
public bool IsSuccessorTo(CECRideActionFilter filter ) { return true; }
|
||||
|
||||
public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter)
|
||||
{
|
||||
return pFilter.IsSuccessorTo(this);
|
||||
}
|
||||
};
|
||||
|
||||
public class CECRideActionFilter : CECActionSequencedRelationFilter
|
||||
{
|
||||
public virtual bool IsSuccessorTo(CECCancelRideActionFilter filter) { return true; }
|
||||
public virtual bool IsSuccessorTo(CECLandingActionFilter filter ) { return true; }
|
||||
|
||||
public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter)
|
||||
{
|
||||
return pFilter.IsSuccessorTo(this);
|
||||
}
|
||||
};
|
||||
|
||||
public class CECLandingActionFilter : CECActionSequencedRelationFilter
|
||||
{
|
||||
public virtual bool IsSuccessorTo(CECFlyActionFilter filter) { return true; }
|
||||
public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter)
|
||||
{
|
||||
return pFilter.IsSuccessorTo(this);
|
||||
}
|
||||
};
|
||||
|
||||
public class CECFlyActionFilter : CECActionSequencedRelationFilter
|
||||
{
|
||||
public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return true; }
|
||||
public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return true; }
|
||||
public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter)
|
||||
{
|
||||
return pFilter.IsSuccessorTo(this);
|
||||
}
|
||||
};
|
||||
|
||||
public class CECSkillActionFilter : CECActionSequencedRelationFilter
|
||||
{
|
||||
public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return true; }
|
||||
public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return true; }
|
||||
public virtual bool IsSuccessorTo(CECFlyActionFilter pFilter) { return true; }
|
||||
public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter)
|
||||
{
|
||||
return pFilter.IsSuccessorTo(this);
|
||||
}
|
||||
};
|
||||
|
||||
public class CECUseSkillItemActionFilter : CECActionSequencedRelationFilter
|
||||
{
|
||||
public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return true; }
|
||||
public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return true; }
|
||||
public virtual bool IsSuccessorTo(CECFlyActionFilter pFilter) { return true; }
|
||||
public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter)
|
||||
{
|
||||
return pFilter.IsSuccessorTo(this);
|
||||
}
|
||||
};
|
||||
|
||||
public class CECContextValidChecker
|
||||
{
|
||||
public CECContextValidChecker(CECActionContext context)
|
||||
{
|
||||
m_pActionContext = context;
|
||||
error_correct = 0;
|
||||
}
|
||||
|
||||
public virtual void Update(uint dt)
|
||||
{
|
||||
//After the client sends mount or dismount commands, it immediately sends a movement message.
|
||||
// As a result, the mount/ dismount operation on the server may fail, but the client is not notified.
|
||||
// Therefore, a confirmation check is required here.
|
||||
if (m_pActionContext.GetActionCount() != 0 && m_pActionContext.NeedCheckValid())
|
||||
{
|
||||
error_correct += (int)dt;
|
||||
|
||||
if (error_correct > MAX_ERRORTIME && !m_pActionContext.GetHostPlayer().GetWorkMan().IsOperatingPet())
|
||||
{
|
||||
m_pActionContext.SetForceRemove(true);
|
||||
error_correct = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int error_correct;
|
||||
public CECActionContext m_pActionContext;
|
||||
public const int MAX_ERRORTIME = 3000;
|
||||
};
|
||||
|
||||
public class CECActionSwitcherBase
|
||||
{
|
||||
CECHostPlayer m_pHostPlayer;
|
||||
@@ -23,6 +203,9 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.Players
|
||||
if (CanAddMessage())
|
||||
m_msgs.UniquelyAdd(msg);
|
||||
}
|
||||
public void SetPostMessageFlag(bool bCan) { m_bCanAddMsg = bCan; }
|
||||
|
||||
public virtual bool OnFlyToRideAction(int petIndex) { return false; } // fly -> ride
|
||||
}
|
||||
public enum EMsgActionSwitcher
|
||||
|
||||
|
||||
@@ -439,6 +439,9 @@ namespace BrewMonster
|
||||
case long value when value == EC_MsgDef.MSG_PM_PLAYERGATHER:
|
||||
OnMsgPlayerGather(Msg);
|
||||
break;
|
||||
case long value when value == EC_MsgDef.MSG_PM_PLAYERMOUNT:
|
||||
OnMsgPlayerMount(Msg);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,492 @@
|
||||
using BrewMonster.Network;
|
||||
using BrewMonster.Scripts;
|
||||
using BrewMonster.Scripts.Pet;
|
||||
using BrewMonster.UI;
|
||||
using CSNetwork;
|
||||
using CSNetwork.GPDataType;
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
using static BrewMonster.Scripts.Pet.CECPetData;
|
||||
|
||||
namespace BrewMonster
|
||||
{
|
||||
public partial class CECHostPlayer
|
||||
{
|
||||
|
||||
// 服务器控制的额外操作限制
|
||||
public enum PLAYER_LIMIT
|
||||
{
|
||||
PLAYER_LIMIT_NOFLY, // 禁止"飞行/取消飞行"
|
||||
PLAYER_LIMIT_NOCHANGESELECT, // 禁止"选中/取消选中/协助攻击"
|
||||
PLAYER_LIMIT_NOMOUNT, // 禁止召唤骑宠
|
||||
PLAYER_LIMIT_NOBIND, // 禁止"发起/接收相依相偎"
|
||||
PLAYER_LIMIT_MAX,
|
||||
};
|
||||
|
||||
// Update pet shortcut when pet freeed
|
||||
void UpdateFreedPetSC(int iPetIndex)
|
||||
{
|
||||
// TO DO: fix later
|
||||
//int i;
|
||||
|
||||
//// Update shortcut sets 1
|
||||
//for (i = 0; i < (int)Shortcut.NUM_HOSTSCSETS1; i++)
|
||||
//{
|
||||
// if (m_aSCSets1[i] != null)
|
||||
// m_aSCSets1[i].UpdateFreedPetSC(iPetIndex);
|
||||
//}
|
||||
|
||||
//// Update shortcut sets 2
|
||||
//for (i = 0; i < (int)Shortcut.NUM_HOSTSCSETS2; i++)
|
||||
//{
|
||||
// if (m_aSCSets2[i] != null)
|
||||
// m_aSCSets2[i].UpdateFreedPetSC(iPetIndex);
|
||||
//}
|
||||
}
|
||||
|
||||
bool OnPetSays(int tid, int nid, int type)
|
||||
{
|
||||
bool bSaid = false;
|
||||
|
||||
//CECNPC pNPC = EC_Game.GetGameRun().GetWorld().GetNPCMan().GetNPCFromAll(nid);
|
||||
//if (pNPC && pNPC.GetMasterID() == GetCharacterID())
|
||||
//{
|
||||
// const ACHAR* szWords = m_pPetWords.GetWords(tid, (CECPetWords::TYPE_WORDS)type);
|
||||
// if (szWords)
|
||||
// {
|
||||
// pNPC.SetLastSaidWords(szWords, 5000);
|
||||
// bSaid = true;
|
||||
// }
|
||||
//}
|
||||
|
||||
return bSaid;
|
||||
}
|
||||
|
||||
/* Is host operating pet ?
|
||||
return value:
|
||||
|
||||
0: host doesn't operating pet.
|
||||
1: host is summoning pet.
|
||||
2: host is recalling pet.
|
||||
3: host is banishing pet.
|
||||
*/
|
||||
int CIsOperatingPet()
|
||||
{
|
||||
CECHPWorkConcentrate pWork = (m_pWorkMan.GetRunningWork(CECHPWork.Host_work_ID.WORK_CONCENTRATE)) as CECHPWorkConcentrate;
|
||||
if (pWork != null)
|
||||
{
|
||||
if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_SUMMONPET)
|
||||
return 1;
|
||||
else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_RECALLPET)
|
||||
return 2;
|
||||
else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_BANISHPET)
|
||||
return 3;
|
||||
else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_RESTOREPET)
|
||||
return 4;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void OnMsgHstPetOpt(ECMSG Msg)
|
||||
{
|
||||
|
||||
CECGameRun pGameRun = EC_Game.GetGameRun();
|
||||
int header = Convert.ToInt32(Msg.dwParam2);
|
||||
switch (header)
|
||||
{
|
||||
case CommandID.GAIN_PET:
|
||||
{
|
||||
cmd_gain_pet pCmd = GPDataTypeHelper.FromBytes<cmd_gain_pet>((byte[])Msg.dwParam1);
|
||||
m_pPetCorral.AddPet(pCmd.slot_index, pCmd.data);
|
||||
|
||||
// Print a notify
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index);
|
||||
if (pPet != null)
|
||||
{
|
||||
if (pPet.IsFollowPet() || pPet.IsCombatPet() || pPet.IsEvolutionPet())
|
||||
{
|
||||
// TO DO: fix later
|
||||
//pGameRun.AddFixedMessage(FIXMSG_PET_HATCH, pPet.GetName());
|
||||
}
|
||||
else if (pPet.IsSummonPet())
|
||||
{
|
||||
// TO DO: fix later
|
||||
//pGameRun.AddFixedMessage(FIXMSG_SUMMON_PET_APPEAR, pPet.GetName());
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case CommandID.FREE_PET:
|
||||
{
|
||||
cmd_free_pet pCmd = GPDataTypeHelper.FromBytes<cmd_free_pet>((byte[])Msg.dwParam1);
|
||||
|
||||
// Print a notify
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index);
|
||||
if (pPet != null)
|
||||
{
|
||||
if (pPet.IsFollowPet() || pPet.IsCombatPet() || pPet.IsEvolutionPet())
|
||||
{
|
||||
// TO DO: fix later
|
||||
//pGameRun.AddFixedMessage(FIXMSG_PET_FREE, pPet.GetName());
|
||||
}
|
||||
else if (pPet.IsSummonPet())
|
||||
{
|
||||
// TO DO: fix later
|
||||
//pGameRun.AddFixedMessage(FIXMSG_SUMMON_PET_DISAPPEAR, pPet.GetName());
|
||||
}
|
||||
}
|
||||
|
||||
// Remove pet from corral
|
||||
m_pPetCorral.FreePet(pCmd.slot_index, pCmd.pet_id);
|
||||
// Update pet shortcuts
|
||||
UpdateFreedPetSC(pCmd.slot_index);
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.SUMMON_PET:
|
||||
{
|
||||
cmd_summon_pet pCmd = GPDataTypeHelper.FromBytes<cmd_summon_pet>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index);
|
||||
//ASSERT(pPet && pPet.GetTemplateID() == pCmd.pet_tid);
|
||||
m_pPetCorral.SetActivePetIndex(pCmd.slot_index);
|
||||
m_pPetCorral.SetActivePetNPCID(pCmd.pet_pid);
|
||||
m_pPetCorral.SetActivePetLifetime(pCmd.life_time);
|
||||
|
||||
if (EC_Game.GetConfigs().GetGameSettings().bPetAutoSkill)
|
||||
{
|
||||
for (int i = 0; i < pPet.GetSkillNum(SKILLTYPE.EM_SKILL_DEFAULT); i++)
|
||||
{
|
||||
PETSKILL? pSkill = pPet.GetSkill(SKILLTYPE.EM_SKILL_DEFAULT, i);
|
||||
if (pSkill != null && EC_Game.IsPetAutoSkill(pSkill.Value.idSkill))
|
||||
pPet.AddAutoSkill(pSkill.Value.idSkill);
|
||||
}
|
||||
}
|
||||
|
||||
// TO DO: fix later
|
||||
//OnPetSays(pCmd.pet_tid, pCmd.pet_pid, CECPetWords::TW_SUMMON);
|
||||
//if (pPet.IsCombatPet() || pPet.IsSummonPet() || pPet.IsEvolutionPet())
|
||||
// CDlgQuickBarPet::ResetAutoCastSkill();
|
||||
break;
|
||||
}
|
||||
case CommandID.RECALL_PET:
|
||||
{
|
||||
cmd_recall_pet pCmd = GPDataTypeHelper.FromBytes<cmd_recall_pet>((byte[])Msg.dwParam1);
|
||||
//ASSERT(pCmd.slot_index == m_pPetCorral.GetActivePetIndex());
|
||||
|
||||
int tid = pCmd.pet_id;
|
||||
int nid = m_pPetCorral.GetActivePetNPCID();
|
||||
|
||||
// 宠物有话说
|
||||
switch (pCmd.reason)
|
||||
{
|
||||
case (char)PET_RECALL_REASON.PET_RECALL_DEFAULT:
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_RECALL);
|
||||
break;
|
||||
|
||||
case (char)PET_RECALL_REASON.PET_RECALL_DEATH:
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_DEAD);
|
||||
break;
|
||||
|
||||
case (char)PET_RECALL_REASON.PET_RECALL_LIFE_EXHAUST:
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_DISAPPEAR);
|
||||
break;
|
||||
|
||||
case (char)PET_RECALL_REASON.PET_RECALL_SACRIFICE:
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_SACRIFICE);
|
||||
break;
|
||||
}
|
||||
|
||||
CECPetData pPet = m_pPetCorral.GetActivePet();
|
||||
if (pPet != null)
|
||||
pPet.OnPetDead();
|
||||
|
||||
m_pPetCorral.SetActivePetIndex(-1);
|
||||
m_pPetCorral.SetActivePetNPCID(0);
|
||||
m_bPetInSanctuary = false;
|
||||
break;
|
||||
}
|
||||
case CommandID.PLAYER_START_PET_OP:
|
||||
{
|
||||
cmd_player_start_pet_op pCmd = GPDataTypeHelper.FromBytes<cmd_player_start_pet_op>((byte[])Msg.dwParam1);
|
||||
int iDoWhat;
|
||||
if (pCmd.op == 0)
|
||||
iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_SUMMONPET;
|
||||
else if (pCmd.op == 1)
|
||||
iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_RECALLPET;
|
||||
else if (pCmd.op == 2)
|
||||
iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_BANISHPET;
|
||||
else if (pCmd.op == 3)
|
||||
iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_RESTOREPET;
|
||||
else
|
||||
iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_UNKNOWN;
|
||||
|
||||
m_PetOptCnt.SetPeriod(pCmd.delay * 50);
|
||||
m_PetOptCnt.Reset();
|
||||
|
||||
CECHPWorkConcentrate pWork = (CECHPWorkConcentrate)m_pWorkMan.CreateWork(CECHPWork.Host_work_ID.WORK_CONCENTRATE);
|
||||
pWork.SetDoWhat(iDoWhat);
|
||||
m_pWorkMan.StartWork_p1(pWork);
|
||||
break;
|
||||
}
|
||||
case CommandID.PLAYER_STOP_PET_OP:
|
||||
{
|
||||
if (IsOperatingPet() != 0)
|
||||
m_pWorkMan.FinishRunningWork(CECHPWork.Host_work_ID.WORK_CONCENTRATE);
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_RECEIVE_EXP:
|
||||
{
|
||||
cmd_pet_receive_exp pCmd = GPDataTypeHelper.FromBytes<cmd_pet_receive_exp>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index);
|
||||
if (pPet != null)
|
||||
{
|
||||
//ASSERT(pPet.GetTemplateID() == pCmd.pet_id);
|
||||
pPet.AddExp(pCmd.exp);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_LEVELUP:
|
||||
{
|
||||
cmd_pet_levelup pCmd = GPDataTypeHelper.FromBytes<cmd_pet_levelup>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index);
|
||||
if (pPet != null)
|
||||
{
|
||||
//ASSERT(pPet.GetTemplateID() == pCmd.pet_id);
|
||||
pPet.LevelUp(pCmd.level, pCmd.exp);
|
||||
}
|
||||
|
||||
//pGameRun.AddFixedMessage(FIXMSG_PET_LEVELUP, pCmd.level);
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_ROOM:
|
||||
{
|
||||
cmd_pet_room pCmd = GPDataTypeHelper.FromBytes<cmd_pet_room>((byte[])Msg.dwParam1);
|
||||
m_pPetCorral.UpdatePets(pCmd, (byte[])Msg.dwParam1);
|
||||
|
||||
CECGameUIMan pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan();
|
||||
|
||||
//if (pGameUI.GetDialog("Win_Teach").IsShow())
|
||||
// {
|
||||
// //pGameUI.UpdateTeach();
|
||||
// }
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_ROOM_CAPACITY:
|
||||
{
|
||||
cmd_pet_room_capacity pCmd = GPDataTypeHelper.FromBytes<cmd_pet_room_capacity>((byte[])Msg.dwParam1);
|
||||
m_pPetCorral.MagnifyPetSlots((int)pCmd.capacity);
|
||||
|
||||
if (m_pPetCorral.HasInit())
|
||||
{
|
||||
//pGameRun.AddFixedMessage(FIXMSG_PET_ROOM_SIZE, pCmd.capacity);
|
||||
}
|
||||
else
|
||||
m_pPetCorral.SetHasInit(true);
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_HONOR_POINT:
|
||||
{
|
||||
cmd_pet_honor_point pCmd = GPDataTypeHelper.FromBytes<cmd_pet_honor_point>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.index);
|
||||
if (pPet != null)
|
||||
pPet.SetIntimacy(pCmd.cur_honor_point);
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_HUNGER_GAUGE:
|
||||
{
|
||||
cmd_pet_hunger_gauge pCmd = GPDataTypeHelper.FromBytes<cmd_pet_hunger_gauge>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.index);
|
||||
if (pPet != null)
|
||||
pPet.SetHunger(pCmd.cur_hunge_gauge);
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_DEAD:
|
||||
{
|
||||
cmd_pet_dead pCmd = GPDataTypeHelper.FromBytes<cmd_pet_dead>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData((int)pCmd.pet_index);
|
||||
if (pPet != null)
|
||||
{
|
||||
pPet.SetHPFactor(0.0f);
|
||||
pPet.SetHP(0);
|
||||
pPet.OnPetDead();
|
||||
}
|
||||
|
||||
//pGameRun.AddFixedMessage(FIXMSG_PET_DEAD);
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_REVIVE:
|
||||
{
|
||||
cmd_pet_revive pCmd = GPDataTypeHelper.FromBytes<cmd_pet_revive>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData((int)pCmd.pet_index);
|
||||
if (pPet != null)
|
||||
pPet.SetHPFactor(pCmd.hp_factor);
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_HP_NOTIFY:
|
||||
{
|
||||
cmd_pet_hp_notify pCmd = GPDataTypeHelper.FromBytes<cmd_pet_hp_notify>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData((int)pCmd.pet_index);
|
||||
if (pPet != null)
|
||||
{
|
||||
int lastHP = pPet.GetHP();
|
||||
|
||||
pPet.SetHPFactor(pCmd.hp_factor);
|
||||
pPet.SetHP(pCmd.cur_hp);
|
||||
|
||||
pPet.SetMPFactor(pCmd.mp_factor);
|
||||
pPet.SetMP(pCmd.cur_mp);
|
||||
|
||||
// If HP is too low, popup a warning on pet's head
|
||||
int iLimit = (int)(pPet.CalcMaxHP() * 0.3f);
|
||||
if (pCmd.cur_hp < lastHP && lastHP != 0 && pCmd.cur_hp < iLimit)
|
||||
{
|
||||
CECNPC pNPC = EC_Game.GetGameRun().GetWorld().GetNPCMan().GetNPC(m_pPetCorral.GetActivePetNPCID());
|
||||
if (pNPC && pNPC.GetMasterID() == GetCharacterID())
|
||||
{
|
||||
//pNPC.BubbleText(CECNPC::BUBBLE_HPWARN, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_AI_STATE:
|
||||
{
|
||||
cmd_pet_ai_state pCmd = GPDataTypeHelper.FromBytes<cmd_pet_ai_state>((byte[])Msg.dwParam1);
|
||||
|
||||
// 宠物有话说
|
||||
CECPetData pPetData = m_pPetCorral.GetActivePet();
|
||||
if (pPetData != null)
|
||||
{
|
||||
int tid = pPetData.GetTemplateID();
|
||||
int nid = m_pPetCorral.GetActivePetNPCID();
|
||||
if (m_pPetCorral.GetMoveMode() != pCmd.move)
|
||||
{
|
||||
switch (pCmd.move)
|
||||
{
|
||||
case (byte)CECPetCorral.ePet_MovingMode.MOVE_FOLLOW:
|
||||
{
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_FOLLOW);
|
||||
break;
|
||||
}
|
||||
case (byte)CECPetCorral.ePet_MovingMode.MOVE_STAND:
|
||||
{
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_STOP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (m_pPetCorral.GetAttackMode() != pCmd.attack)
|
||||
{
|
||||
switch (pCmd.attack)
|
||||
{
|
||||
case (byte)CECPetCorral.ePet_AttackingMode.ATK_DEFENSE:
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_DEFENSIVE);
|
||||
break;
|
||||
|
||||
case (byte)CECPetCorral.ePet_AttackingMode.ATK_POSITIVE:
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_OFFENSIVE);
|
||||
break;
|
||||
|
||||
case (byte)CECPetCorral.ePet_AttackingMode.ATK_PASSIVE:
|
||||
//OnPetSays(tid, nid, CECPetWords::TW_PASSIVE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_pPetCorral.SetMoveMode(pCmd.move);
|
||||
m_pPetCorral.SetAttackMode(pCmd.attack);
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_SET_COOLDOWN:
|
||||
{
|
||||
cmd_pet_set_cooldown pCmd = GPDataTypeHelper.FromBytes<cmd_pet_set_cooldown>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.pet_index);
|
||||
if (pPet != null)
|
||||
pPet.SetSkillCoolTime(pCmd.cooldown_index, pCmd.cooldown_time);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case CommandID.SUMMON_PLANT_PET:
|
||||
{
|
||||
int size = Marshal.SizeOf<cmd_summon_plant_pet>();
|
||||
if (((byte[])Msg.dwParam1).Length >= size)
|
||||
{
|
||||
cmd_summon_plant_pet pCmd = GPDataTypeHelper.FromBytes<cmd_summon_plant_pet>((byte[])Msg.dwParam1);
|
||||
m_pPetCorral.PlantPetEnter(pCmd);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case CommandID.PLANT_PET_DISAPPEAR:
|
||||
{
|
||||
int size = Marshal.SizeOf<cmd_plant_pet_disapper>();
|
||||
if (((byte[])Msg.dwParam1).Length >= size)
|
||||
{
|
||||
cmd_plant_pet_disapper pCmd = GPDataTypeHelper.FromBytes<cmd_plant_pet_disapper>((byte[])Msg.dwParam1);
|
||||
m_pPetCorral.PlantPetDisappear(pCmd);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case CommandID.PLANT_PET_HP_NOTIFY:
|
||||
{
|
||||
int size = Marshal.SizeOf<cmd_plant_pet_hp_notify>();
|
||||
if (((byte[])Msg.dwParam1).Length >= size)
|
||||
{
|
||||
cmd_plant_pet_hp_notify pCmd = GPDataTypeHelper.FromBytes<cmd_plant_pet_hp_notify>((byte[])Msg.dwParam1);
|
||||
m_pPetCorral.PlantPetInfo(pCmd);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case CommandID.PET_PROPERTY:
|
||||
{
|
||||
cmd_pet_property pCmd = GPDataTypeHelper.FromBytes<cmd_pet_property>((byte[])Msg.dwParam1);
|
||||
CECPetData pPet = m_pPetCorral.GetPetData(pCmd.pet_index);
|
||||
if (pPet != null)
|
||||
{
|
||||
pPet.SetExtendProps(pCmd.prop);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CommandID.PET_REBUILD_INHERIT_START:
|
||||
case CommandID.PET_REBUILD_INHERIT_INFO:
|
||||
case CommandID.PET_REBUILD_INHERIT_END:
|
||||
case CommandID.PET_EVOLUTION_DONE:
|
||||
case CommandID.PET_REBUILD_NATURE_START:
|
||||
case CommandID.PET_REBUILD_NATURE_INFO:
|
||||
case CommandID.PET_REBUILD_NATURE_END:
|
||||
{
|
||||
CECGameUIMan pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan();
|
||||
if (pGameUI != null)
|
||||
{
|
||||
//((CDlgPreviewPetRebuild*)pGameUI.GetDialog("Win_PreviewPet")).OnServerNotify(Msg.dwParam2, (void*)Msg.dwParam1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
void OnMsgHstSetPlayerLimit(ECMSG Msg)
|
||||
{
|
||||
cmd_set_player_limit pCmd = GPDataTypeHelper.FromBytes<cmd_set_player_limit>((byte[])Msg.dwParam1);
|
||||
if (pCmd.index >= 0 && pCmd.index < (int)PLAYER_LIMIT.PLAYER_LIMIT_MAX)
|
||||
m_playerLimits[pCmd.index] = (pCmd.b != 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a80761da7f1dc184b8117b7170fd98f2
|
||||
@@ -191,7 +191,7 @@ namespace BrewMonster.Scripts.Skills
|
||||
return "";
|
||||
}
|
||||
// ����˵��
|
||||
public virtual void GetIntroduction(StringBuilder buf, SkillStr table) { }
|
||||
public virtual void GetIntroduction(StringBuilder buf, SkillStr table) { }
|
||||
// ����ְҵ����
|
||||
public virtual int GetCls() { return -1; }
|
||||
// ������ȴʱ�䣬��λ����
|
||||
@@ -250,7 +250,7 @@ namespace BrewMonster.Scripts.Skills
|
||||
return ret;
|
||||
}
|
||||
public virtual int GetRequiredRealmLevel() { return 0; }
|
||||
public static int GetRequiredRealmLevel(uint id, int level)
|
||||
public static int GetRequiredRealmLevel(uint id, int level)
|
||||
{
|
||||
Skill s = Skill.Create(id, level);
|
||||
if (s == null)
|
||||
@@ -324,11 +324,67 @@ namespace BrewMonster.Scripts.Skills
|
||||
// ���������ж�
|
||||
public virtual bool ValidWeapon(int w) { return true; }
|
||||
// 0, �ɹ���1��������ƥ�䣻2, mp���㣻3��λ�����������㣻4���������������?5������ID, 6��δѡ��Ŀ��
|
||||
public int Condition(uint id, UseRequirement info, int ilevel)
|
||||
{
|
||||
skill = Skill.Create(id, ilevel);
|
||||
if (skill == null)
|
||||
return 5;
|
||||
|
||||
ComboArg arg = skill.GetPlayer().GetComboarg();
|
||||
if (info.combo_state.arg != null)
|
||||
{
|
||||
for (int i = 0; i < ComboSkillState.MAX_COMBO_ARG; i++)
|
||||
{
|
||||
arg.SetValue((uint)i, info.combo_state.arg[i]);
|
||||
}
|
||||
}
|
||||
int ret = ((ElementSkill)skill).Condition(info);
|
||||
|
||||
return ret;
|
||||
}
|
||||
public int Condition(UseRequirement info)
|
||||
{
|
||||
if (info.arrow < GetArrowCost())
|
||||
return 9;
|
||||
if (!ValidWeapon(info.weapon))
|
||||
return 1;
|
||||
if (info.mp < GetMpCost())
|
||||
return 2;
|
||||
int form_type = (info.form & FORM_MASK_HIGH) >> 6;
|
||||
if ((GetAllowForms() & (1 << form_type)) == 0)
|
||||
return 7;
|
||||
if (info.ap < GetApCost())
|
||||
return 8;
|
||||
if (info.freepackage == 0 && GetTargetType() == 3)
|
||||
return 10;
|
||||
// ÒÆ¶¯»·¾³
|
||||
if ((info.move_env == 0 && !IsAllowLand()) ||
|
||||
(info.move_env == 1 && !IsAllowWater()) ||
|
||||
(info.move_env == 2 && !IsAllowAir()))
|
||||
return 3;
|
||||
|
||||
if (info.is_combat && GetNotuseInCombat())
|
||||
return 11;
|
||||
|
||||
if (!CheckHpCondition(info.hp, info.max_hp))
|
||||
return 12;
|
||||
|
||||
int preskill = GetComboSkPreSkill();
|
||||
if (preskill != 0)
|
||||
{
|
||||
if (info.combo_state.skillid != (uint)preskill
|
||||
|| !CheckComboSkExtraCondition())
|
||||
return 13;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 检查HP条件 // Check HP condition
|
||||
public virtual bool CheckHpCondition(int hp, int max_hp) { return true; }
|
||||
// 检查连击技能额外条件 // Check combo skill extra condition
|
||||
public virtual bool CheckComboSkExtraCondition() { return true; }
|
||||
|
||||
public virtual bool IsAllowLand() { return true; }
|
||||
public virtual bool IsAllowWater() { return true; }
|
||||
public virtual bool IsAllowAir() { return true; }
|
||||
@@ -369,7 +425,7 @@ namespace BrewMonster.Scripts.Skills
|
||||
comboArg.SetValue((uint)i, argValue);
|
||||
}
|
||||
|
||||
if (skill.CheckComboSkExtraCondition())
|
||||
if (((ElementSkill)skill).CheckComboSkExtraCondition())
|
||||
{
|
||||
result[skill.GetId()] = skill.GetComboSkInterval();
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace BrewMonster.Scripts.Skills
|
||||
}
|
||||
public override int GetRangeType() { return stub.GetRange().type; }
|
||||
public override int GetRequiredLevel() { return stub.GetRequiredLevel(this); }
|
||||
public override void GetIntroduction(StringBuilder buf, SkillStr table)
|
||||
public override void GetIntroduction(StringBuilder buf, SkillStr table)
|
||||
{
|
||||
int n = stub.GetIntroduction(this, buf, table.Find((int)stub.id * 10 + 1));
|
||||
}
|
||||
@@ -104,7 +104,11 @@ namespace BrewMonster.Scripts.Skills
|
||||
return stub.GetIcon();
|
||||
}
|
||||
public int GetAbility() { return SkillWrapper.Instance.GetAbility(id); }
|
||||
public bool CheckComboSkExtraCondition() { return stub.CheckComboSkExtraCondition(this); }
|
||||
// 检查施放时hp条件 // Check HP condition when casting
|
||||
public override bool CheckHpCondition(int hp, int max_hp) { return stub.CheckHpCondition(hp, max_hp); }
|
||||
public override bool CheckComboSkExtraCondition() { return stub.CheckComboSkExtraCondition(this); }
|
||||
public override byte GetAllowForms() { return stub.allow_forms; }
|
||||
public override int GetApCost() { return stub.apcost; }
|
||||
|
||||
public override string GetName() { return stub.GetName(); }
|
||||
public override float GetPrayRange(float range, float prayplus)
|
||||
@@ -302,7 +306,13 @@ namespace BrewMonster.Scripts.Skills
|
||||
public virtual float GetPraydistance(Skill skill) { return 0f; }
|
||||
public virtual float GetMpcost(Skill skill) { return 0f; }
|
||||
public virtual int GetExecutetime(Skill skill) { return 1000; }
|
||||
// 检查HP条件 // Check HP condition
|
||||
// 默认返回true,子类可以重写以检查HP百分比范围 // Default returns true, subclasses can override to check HP percentage range
|
||||
// 例如:return hp >= max_hp / 100.0f * minPercent && hp <= max_hp / 100.0f * maxPercent;
|
||||
public virtual bool CheckHpCondition(int hp, int max_hp) { return true; }
|
||||
// 检查连击技能额外条件 // Check combo skill extra condition
|
||||
// 默认返回true,子类可以重写以检查连击参数等条件 // Default returns true, subclasses can override to check combo arguments etc.
|
||||
// 例如:return skill.GetPlayer().GetComboarg().GetValue(0) == 5;
|
||||
public virtual bool CheckComboSkExtraCondition(Skill skill) { return true; }
|
||||
public virtual int GetIntroduction(Skill skill, StringBuilder descBuffer, string titleBuffer) { return 0; }
|
||||
|
||||
|
||||
@@ -842,9 +842,6 @@ namespace BrewMonster.Scripts.Task
|
||||
public void CheckAutoDelv(TaskInterface pTask)
|
||||
{
|
||||
ATaskTempl pTempl = null;
|
||||
// TaskTemplMap::iterator it = m_AutoDelvMap.begin();
|
||||
var it = m_AutoDelvMap[0];
|
||||
|
||||
uint ulCurTime = pTask.GetCurTime();
|
||||
ActiveTaskList pLst = pTask.GetActiveTaskList();
|
||||
|
||||
@@ -874,10 +871,8 @@ namespace BrewMonster.Scripts.Task
|
||||
|
||||
if (!pTempl.IsValidState())
|
||||
continue;
|
||||
|
||||
if (pTempl.CheckPrerequisite(pTask, pLst, ulCurTime) == 0)
|
||||
{
|
||||
|
||||
pTempl.IncValidCount();
|
||||
_notify_svr(pTask, ClientNotificationConstants.TASK_CLT_NOTIFY_AUTO_DELV, (ushort)(pTempl.m_FixedData.m_ID));
|
||||
}
|
||||
@@ -887,7 +882,9 @@ namespace BrewMonster.Scripts.Task
|
||||
public void UpdateStatus(TaskInterface pTask)
|
||||
{
|
||||
// ��ΪCheckTitle������ƺ����ݣ�����ֱ����ȡ���ƺ�����֮ǰ�����ܵ���������
|
||||
if (!pTask.IsTitleDataReady()) return;
|
||||
//TODO:Add -----bool CECHostPlayer::ProcessMessage(const ECMSG& Msg)---- feature to check if title data is ready.
|
||||
//If enable now it will not create autotask
|
||||
//if (!pTask.IsTitleDataReady()) return;
|
||||
CheckAutoDelv(pTask);
|
||||
|
||||
// TODO: Implement other checks as needed
|
||||
|
||||