Merge branch 'develop' into feature/hp_swim

# Conflicts:
#	Assets/Scenes/a61.unity
This commit is contained in:
TungDV
2026-01-06 22:35:23 +07:00
37 changed files with 2098 additions and 385 deletions
@@ -65,8 +65,8 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
@@ -75,6 +75,81 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &2380244736749663509
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5484588459809847712}
- component: {fileID: 2690941580050673919}
- component: {fileID: 4280331804577109228}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5484588459809847712
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2380244736749663509}
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: 5717981154351234976}
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 &2690941580050673919
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2380244736749663509}
m_CullTransparentMesh: 1
--- !u!114 &4280331804577109228
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2380244736749663509}
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.2924528, g: 0.22485758, b: 0.22485758, a: 0.6117647}
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: 10913, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 3
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 0
m_FillClockwise: 1
m_FillOrigin: 2
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &4284393271722921544
GameObject:
m_ObjectHideFlags: 0
@@ -85,6 +160,7 @@ GameObject:
m_Component:
- component: {fileID: 5717981154351234976}
- component: {fileID: 2581817642771390274}
- component: {fileID: 7847394660162355121}
- component: {fileID: 1012268097730980895}
- component: {fileID: 3344986418137786462}
- component: {fileID: 6831872353885336647}
@@ -102,12 +178,13 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4284393271722921544}
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: 7644618114629580485}
- {fileID: 5484588459809847712}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -129,6 +206,21 @@ MonoBehaviour:
m_EditorClassIdentifier:
skillbutton: {fileID: 6831872353885336647}
skillImage: {fileID: 8375324328665448590}
cooldownTime: 4
m_ClockCounter: {fileID: 7847394660162355121}
--- !u!114 &7847394660162355121
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4284393271722921544}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 70ec0de7d6bb5134fbdf6bf9b1cfbff4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ClockIcon: {fileID: 4280331804577109228}
--- !u!222 &1012268097730980895
CanvasRenderer:
m_ObjectHideFlags: 0
@@ -30,6 +30,8 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7646065705685923996}
- {fileID: 7624622564514112041}
- {fileID: 3689929667910841152}
m_Father: {fileID: 8078455359151753464}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -51,6 +53,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
AUIImagePictureList:
- {fileID: 473551792621656190}
- {fileID: 386805116814525131}
- {fileID: 6898229972725535650}
--- !u!1 &5713000252331107611
GameObject:
m_ObjectHideFlags: 0
@@ -227,11 +231,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.x
value: 318
value: 264
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.y
value: -235
value: -387
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@@ -266,3 +270,245 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 2685853672127006524}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &2777102779975540105
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1608209508545832950}
m_Modifications:
- target: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: cooldownTime
value: 9
objectReference: {fileID: 0}
- target: {fileID: 4284393271722921544, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Name
value: ButtonSkill1 (1)
objectReference: {fileID: 0}
- target: {fileID: 4284393271722921544, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.x
value: 160
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.y
value: 155.1223
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.x
value: 390
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.y
value: -232
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
--- !u!114 &386805116814525131 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 2777102779975540105}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67fd391520cbfd44f84a1c6bb57673c0, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &7624622564514112041 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 2777102779975540105}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &8966414979997338848
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1608209508545832950}
m_Modifications:
- target: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: cooldownTime
value: 7
objectReference: {fileID: 0}
- target: {fileID: 4284393271722921544, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Name
value: ButtonSkill1 (2)
objectReference: {fileID: 0}
- target: {fileID: 4284393271722921544, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.x
value: 160
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.y
value: 155.1223
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.x
value: 613
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.y
value: -134
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
--- !u!224 &3689929667910841152 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 8966414979997338848}
m_PrefabAsset: {fileID: 0}
--- !u!114 &6898229972725535650 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 8966414979997338848}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67fd391520cbfd44f84a1c6bb57673c0, type: 3}
m_Name:
m_EditorClassIdentifier:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 116ed3d1e0ef6f040acab9378fbe4fad
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,50 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6032603119232429246
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8719383145939716431}
- component: {fileID: 3570251765210904899}
m_Layer: 5
m_Name: DlgHost
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8719383145939716431
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6032603119232429246}
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: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3570251765210904899
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6032603119232429246}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 11e80692643c0ff4ca58d76679b26327, type: 3}
m_Name:
m_EditorClassIdentifier:
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8350aa55906d08448bb47e10a473ca61
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,541 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &874343250186730391
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2000867345168672731}
m_Layer: 5
m_Name: Fill Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2000867345168672731
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 874343250186730391}
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: 6818571886471270641}
m_Father: {fileID: 6752023868063132973}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: -0.17520142, y: 0}
m_SizeDelta: {x: -10.3504, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &977375840943150650
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9117663038715356283}
- component: {fileID: 7167547738905977378}
m_Layer: 5
m_Name: Win_Prgs2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9117663038715356283
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 977375840943150650}
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: 4072511356465673856}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7167547738905977378
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 977375840943150650}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 57d74d19ef3b2c44fbb72ec587caa705, type: 3}
m_Name:
m_EditorClassIdentifier:
progressSlider: {fileID: 4511831382827661534}
progressText: {fileID: 4983346202533902944}
--- !u!1 &1594317373880026392
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1037508319488102731}
- component: {fileID: 4978542109480888980}
- component: {fileID: 8027776737710957383}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1037508319488102731
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1594317373880026392}
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: 6752023868063132973}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4978542109480888980
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1594317373880026392}
m_CullTransparentMesh: 1
--- !u!114 &8027776737710957383
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1594317373880026392}
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: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &4972412303353532354
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4072511356465673856}
- component: {fileID: 2367954143517714233}
- component: {fileID: 8929200823718496348}
m_Layer: 5
m_Name: BG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4072511356465673856
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4972412303353532354}
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: 6752023868063132973}
m_Father: {fileID: 9117663038715356283}
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 &2367954143517714233
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4972412303353532354}
m_CullTransparentMesh: 1
--- !u!114 &8929200823718496348
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4972412303353532354}
m_Enabled: 0
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: 0
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 &5268483250871520365
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6818571886471270641}
- component: {fileID: 208921228956184917}
- component: {fileID: 7529183553295306538}
m_Layer: 5
m_Name: Fill
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6818571886471270641
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5268483250871520365}
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: 2000867345168672731}
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: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &208921228956184917
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5268483250871520365}
m_CullTransparentMesh: 1
--- !u!114 &7529183553295306538
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5268483250871520365}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &6184127327699476220
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2731797878088259642}
- component: {fileID: 1112745610285620432}
- component: {fileID: 4983346202533902944}
m_Layer: 5
m_Name: ProgressLabel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2731797878088259642
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6184127327699476220}
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: 6752023868063132973}
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.000091552734}
m_SizeDelta: {x: 0, y: -12.2774}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1112745610285620432
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6184127327699476220}
m_CullTransparentMesh: 1
--- !u!114 &4983346202533902944
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6184127327699476220}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: New Text
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4278190080
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 6.9
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 3.9
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6667873410386005838
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6752023868063132973}
- component: {fileID: 4511831382827661534}
m_Layer: 5
m_Name: Slider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &6752023868063132973
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6667873410386005838}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 3.095, y: 3.095, z: 3.095}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1037508319488102731}
- {fileID: 2000867345168672731}
- {fileID: 2731797878088259642}
m_Father: {fileID: 4072511356465673856}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 82}
m_SizeDelta: {x: 160, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4511831382827661534
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6667873410386005838}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, 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: 0
m_TargetGraphic: {fileID: 0}
m_FillRect: {fileID: 6818571886471270641}
m_HandleRect: {fileID: 0}
m_Direction: 0
m_MinValue: 0
m_MaxValue: 1
m_WholeNumbers: 0
m_Value: 1
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 51bad2e6d1ec69a4683135ce85288faa
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -23,3 +23,7 @@ MonoBehaviour:
prefab: {fileID: 6999114045547682248, guid: 8027cada0ef5e4a9f827001b4747174d, type: 3}
- id: Win_SkillSubAction
prefab: {fileID: 111271885693053298, guid: eb88919320b4229459c83b6b1f8f1e7b, type: 3}
- id: Win_Prgs2
prefab: {fileID: 977375840943150650, guid: 51bad2e6d1ec69a4683135ce85288faa, type: 3}
- id: Win_Hpmpxp
prefab: {fileID: 6032603119232429246, guid: 8350aa55906d08448bb47e10a473ca61, type: 3}
@@ -143,6 +143,12 @@ namespace BrewMonster.Managers
@@ -284,7 +284,7 @@ namespace BrewMonster
public string GetNameDisplay()
{
return EC_Game.GetSkillDesc().GetWideString(GetSkillID() * 10);
return EC_Game.GetSkillDesc().GetWideString(GetSkillID() * 10);
}
public string GetDesc()
@@ -307,6 +307,7 @@ namespace BrewMonster
{
return m_pSkillCore != null ? m_pSkillCore.GetExecuteTime() : 0;
}
public int GetCommonCoolDown() { return m_pSkillCore.GetCommonCoolDown(); }
public int GetType()
{
@@ -320,7 +321,7 @@ namespace BrewMonster
public float GetCastRange(float fAtkDist, float fPrayDistancePlus)
{
BMLogger.LogError($"HoangDev: GetCastRange {m_pSkillCore}");
return m_pSkillCore != null ? m_pSkillCore.GetPrayRange(fAtkDist, fPrayDistancePlus) : 0f;
}
public string GetEffect()
@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Numerics;
using System.Runtime.InteropServices;
using System.Text;
using UnityEngine;
namespace CSNetwork.GPDataType
{
@@ -783,7 +784,86 @@ namespace CSNetwork.GPDataType
public short sReviveType; // Revive type
public A3DVECTOR3 pos;
};
public enum CoolTimeIndex
{
GP_CT_NULL = 0, // ¿Õ£¬±£Áô
GP_CT_PVP, // ûÓã¬ÏÈռλ
GP_CT_EMOTE, // ×ö±íÇéµÄÀäȴʱ¼ä
GP_CT_REJUVENATION_POTION, // ¾ÅÑôµ¤µÄÀäȴʱ¼ä
GP_CT_SWITCH_FASHION, // Çл»Ê±×°Ä£Ê½µÄÀäȴʱ¼ä
GP_CT_DROP_MONEY, // ÍùµØÉÏÈÓÇ®µÄÀäȴʱ¼ä
GP_CT_DROP_ITEM, // ÍùµØÉÏÈÓÎïÆ·µÄÀäȴʱ¼ä
GP_CT_FACEPILL, // ±äÐÎÍèµÄÀäȴʱ¼ä
GP_CT_FACETICKET, // ÕûÈݵÄÀäȴʱ¼ä
GP_CT_RECURRECT_SCROLL, // ±ðÈ˸´»î¾íµÄÀäȴʱ¼ä£¬´ËÎïÆ·²»´æÔÚ£¬Î´ÉúЧ
GP_CT_SOUL_STONE, // ÏÖÔÚ¸´»î¾íÖáµÄÀäȴʱ¼ä
GP_CT_HP_POTION, // »ØÑªÒ©
GP_CT_MP_POTION, // »ØÄ§Ò©
GP_CT_ANTIDOTE_POTION, // ½â¶¾¼Á
GP_CT_FLY_RUSH, // ¼ÓËÙ·ÉÐÐ
GP_CT_TOWNSCROLL, // »Ø³Ç¾íÖá
GP_CT_GM_GENITEM, // GM Éú³É¹ÖÎïµÄÎïÆ·
GP_CT_VIEWOTHEREQUIP, // ²é¿´±ðÈ˵Ä×°±¸
GP_CT_FEED_PET, // Î¹Ñø³èÎï
GP_CT_FIREWORKS, // Ê©·ÅÑÌ»¨
GP_CT_FARCRY, // far cry ƵµÀ˵»°
GP_CT_SKILLMATTER, // ʹÓü¼ÄÜÎïÆ·
GP_CT_REFINE, // ¾«Á¶
GP_CT_ARMORRUNE, // ·ÀÓùÓÅ»¯·û
GP_CT_AUTOHP, // »¤Éí·ûÀäȴʱ¼ä
GP_CT_AUTOMP, // ÊØÉñ·ûÀäȴʱ¼ä
GP_CT_DOUBLEEXP, // Ë«±¶¾­ÑéµÀ¾ßÀäȴʱ¼ä
GP_CT_DYETICKET, // ȾɫµÀ¾ß
GP_CT_TEAMRELATION, // ×é¶Ó¹ØÏµÀäȴʱ¼ä
GP_CT_REFINETRANS, // ¾«Á¶µÈ¼¶×ªÒÆÀäȴʱ¼ä
GP_CT_CAST_ELF_SKILL, // С¾«Áé¼¼ÄÜÀäÈ´
GP_CT_ELF_CMD, // ÏÈռλ
GP_CT_GET_MALL_PRICE, // »ñÈ¡É̳ÇÊý¾ÝµÄÀäȴʱ¼ä
GP_CT_QUERY_OTHER_PROPERTY, // ²éѯĿ±êÊôÐÔ 5Ãë
GP_CT_SKILLTRIGGER2, // ʹÓü¼ÄÜÎïÆ·1Ãë
GP_CT_SKILLCOMMONCOOLDOWN0, // ÓÃÓÚ¼¼Äܹ«¹²ÀäÈ´
GP_CT_SKILLCOMMONCOOLDOWN1,
GP_CT_SKILLCOMMONCOOLDOWN2,
GP_CT_SKILLCOMMONCOOLDOWN3,
GP_CT_SKILLCOMMONCOOLDOWN4,
GP_CT_RUNECOMMONCOOLDOWN0, // ÓÃÓÚÎïÆ·¼¼Äܹ«¹²ÀäÈ´
GP_CT_RUNECOMMONCOOLDOWN1,
GP_CT_RUNECOMMONCOOLDOWN2,
GP_CT_RUNECOMMONCOOLDOWN3,
GP_CT_RUNECOMMONCOOLDOWN4,
GP_CT_EQUIP_FASHION_ITEM, // ×Ô¶¯»»×°Àäȴʱ¼ä 60s
GP_CT_GET_DIVIDEND_MALL_PRICE, // »ñÈ¡ºèÀûÉ̳ÇÊý¾ÝµÄÀäȴʱ¼ä 30s
GP_CT_MULTI_EXCHANGE_ITEM, // ÕûÀí°ü¹üÀäȴʱ¼ä 30s
GP_CT_TEAM_CONGREGATE, // ¶ÓÎ鼯½áÁî
GP_CT_FACTION_CONGREGATE, // °ïÅɼ¯½áÁî
GP_CT_DPS_DPH_RANK, // »ñȡɳ°üÅÅÐаñ
GP_CT_JOIN_PLAYER_FORCE, // ¼ÓÈëÊÆÁ¦
GP_CT_LEAVE_PLAYER_FORCE, // Àë¿ªÊÆÁ¦
GP_CT_TOGGLE_ONLINE_AWARD, // Çл»¹Ò»úµºÔÚÏß½±Àø
GP_CT_COUNTRY_BATTLE_APPLY, // ¼ÓÈë¹úÕ½ÉêÇë
GP_CT_COUNTRY_CHAT, // ¹úսƵµÀ·¢ÑÔ
GP_CT_CROSS_SERVER_APPLY, // ǰÍù¿ç·þÉêÇë
GP_CT_TOUCHTRADE, // Touch µã¹ºÎï»ò²éѯ
GP_CT_SWITCH_PARALLEL_WORLD, // Çл»·ÖÏß
GP_CT_QUERY_PARALLEL_WORLD, // ²éѯ·ÖÏß
GP_CT_GIFTCARD_REDEEM,
GP_CT_TRICKBATTLE_APPLY, // ¿ç·þ»î¶¯, Õ½³µ
GP_CT_AUTOTEAM, // ×Ô¶¯×é¶Ó²Ù×÷£¬µØÍ¼Ìø×ª
GP_CT_PLAYER_GATHER, // ·ÀÖ¹²É¼¯¹ý¿ì (GATHER_MATERIAL)
GP_CT_COUNTRYBATTLE_LIVESHOW, // ²éѯ¹úÕ½rankºÍËÀÍöÊý¾Ý (COUNTRYBATTLE_LIVE_SHOW)
GP_CT_QUERY_MAFIA_PVP_INFO, // 65: °ïÅÉ PVP ÐÅÏ¢²éѯ (QUERY_MAFIA_PVP_INFO)
GP_CT_MAX,
GP_CT_SKILL_START = 1024,
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct cmd_notify_hostpos
{
@@ -1635,6 +1715,20 @@ namespace CSNetwork.GPDataType
public int nid;
public int vis_tid;
};
[StructLayout(LayoutKind.Sequential, Pack = 1)] // sizeof = 36 với padding 1 byte sau dir
public struct cmd_cooltime_data
{
public ushort count;
public item_t[] list;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] // sizeof = 36 với padding 1 byte sau dir
public struct item_t
{
public ushort idx;
public int cooldown;
public int max_cooltime;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] // sizeof = 36 với padding 1 byte sau dir
public struct cmd_npc_info_00
{
@@ -1998,7 +2092,7 @@ namespace CSNetwork.GPDataType
public byte where; //ĸ0 ׼2 1 װ
public byte index; //󲿷ַĸλ
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct cmd_player_gather_start
{
@@ -2012,7 +2106,7 @@ namespace CSNetwork.GPDataType
{
public int pid; // player id
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct cmd_mine_gathered
{
@@ -274,6 +274,7 @@ namespace BrewMonster.Scripts.Skills
// ֧
public virtual int GetArrowCost() { return 0; }
public virtual int GetCommonCoolDown() { return 0; }
public static int GetCommonCoolDown(uint id)
{
+5 -1
View File
@@ -87,6 +87,7 @@ namespace BrewMonster.Scripts.Skills
return 1;
}
public override byte GetType() { return stub.type; }
public override int GetCommonCoolDown() { return stub.commoncooldown; }
public override string GetIcon()
{
@@ -99,9 +100,12 @@ namespace BrewMonster.Scripts.Skills
player.SetPrayrangeplus(prayplus);
if (stub.type == (int)skill_type.TYPE_ATTACK || stub.type == (int)skill_type.TYPE_CURSE)
{
BMLogger.LogError($"HoangDev: GetPrayRange AutoAttack {stub.auto_attack}");
if (stub.auto_attack)
{
float r = 0.3f * stub.GetPraydistance(this);
BMLogger.LogError($"HoangDev: r={r} ");
if (r >= 1.0)
return stub.GetPraydistance(this) - 1.0f;
else
@@ -241,7 +245,7 @@ namespace BrewMonster.Scripts.Skills
public int GetMaxLevel() { return max_level; }
public Range GetRange() { return range; }
public bool IsMovingSkill() { return is_movingcast; }
public new byte GetType() { return type; } // System.Object.GetType // Hide System.Object.GetType
public byte GetType() { return type; } // System.Object.GetType // Hide System.Object.GetType
// ʱ // Runtime-related virtual functions
public virtual int GetCoolingtime(Skill skill) { return 0; }
+10 -10
View File
@@ -129,16 +129,16 @@ namespace BrewMonster
~Skill1Stub() { }
public float GetMpcost(Skill skill) => (float)(-5 + 7 * skill.GetLevel());
public int GetExecutetime(Skill skill) => 700;
public int GetCoolingtime(Skill skill) => 3000;
public float GetRadius(Skill skill) => 0f;
public float GetAttackdistance(Skill skill) => 0f;
public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0);
public float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange());
public int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1];
public int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1];
public int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1];
public override float GetMpcost(Skill skill) => (float)(-5 + 7 * skill.GetLevel());
public override int GetExecutetime(Skill skill) => 700;
public override int GetCoolingtime(Skill skill) => 3000;
public float GetRadius(Skill skill) => 0f;
public float GetAttackdistance(Skill skill) => 0f;
public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0);
public override float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange());
public override int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1];
public override int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1];
public override int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1];
#if SKILL_CLIENT
public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format)
@@ -175,6 +175,12 @@ namespace BrewMonster
@@ -173,6 +173,12 @@ namespace BrewMonster
@@ -112,6 +112,12 @@ namespace BrewMonster
@@ -873,8 +873,7 @@ namespace BrewMonster.Scripts.Task
pos[2] = vPos.z;
}
var world = World.CECWorld.Instance;
//TODO: world.GetInstanceID()
return world != null ? 0 /*world.GetInstanceID()*/ : 0;
return world != null ? world.GetInstanceID() : 0;
}
public bool CheckSimpleTaskFinshConditon(uint task_id)
@@ -1551,7 +1550,11 @@ namespace BrewMonster.Scripts.Task
{
case (uint)TaskCompletionMethod.enumTMReachSite:
pTempl.IncValidCount();
_notify_svr(this, 3, (ushort)ulTask); //TASK_CLT_NOTIFY_REACH_SITE = 3
_notify_svr(this, (byte)ClientNotificationConstants.TASK_CLT_NOTIFY_REACH_SITE, (ushort)ulTask);
break;
case (uint)TaskCompletionMethod.enumTMLeaveSite:
pTempl.IncValidCount();
_notify_svr(this, (byte)ClientNotificationConstants.TASK_CLT_NOTIFY_LEAVE_SITE, (ushort)ulTask);
break;
}
}
+66 -17
View File
@@ -3,6 +3,7 @@ using System.Reflection;
using System.Runtime.InteropServices;
using BrewMonster.Network;
using BrewMonster.Scripts.Task;
using BrewMonster.UI;
using CSNetwork.GPDataType;
using PerfectWorld.Scripts.Task;
using UnityEngine;
@@ -167,24 +168,48 @@ namespace BrewMonster.Scripts.Task
{
for (uint iRegion = 0; iRegion < pTempl.m_FixedData.m_ulReachSiteCnt; iRegion++)
{
Task_Region t = pTempl.m_FixedData.m_pReachSite[(int)iRegion];
if (IsInZone(t.zvMin, t.zvMax, pos))
Task_Region t = pTempl.m_FixedData.m_pReachSite[(int)iRegion];
if (IsInZone(t.zvMin, t.zvMax, pos))
{
var pTalk = pTempl.m_AwardTalk;
// If num_window == 1 but windows is null/empty, treat as no options (send notification)
bool shouldNotifyDirectly = false;
if (pTalk.num_window == 0)
{
var pTalk = pTempl.m_AwardTalk;
if (pTalk.num_window == 0 || (pTalk.num_window == 1 && pTalk.windows != null && pTalk.windows.Length > 0 && pTalk.windows[0].num_option == 0))
shouldNotifyDirectly = true;
}
else if (pTalk.num_window == 1)
{
if (pTalk.windows == null || pTalk.windows.Length == 0)
{
pTempl.IncValidCount();
_notify_svr(pTask, ClientNotificationConstants.TASK_CLT_NOTIFY_REACH_SITE, (ushort)pTempl.GetID());
// Invalid state: num_window == 1 but windows is null/empty - treat as no options
shouldNotifyDirectly = true;
}
else
else if (pTalk.windows[0].num_option == 0)
{
// TODO: PopupTaskFinishDialog not exposed; implement UI as needed
shouldNotifyDirectly = true;
}
}
if (shouldNotifyDirectly)
{
pTempl.IncValidCount();
_notify_svr(pTask, (byte)ClientNotificationConstants.TASK_CLT_NOTIFY_REACH_SITE, (ushort)pTempl.GetID());
}
else
{
// 弹出任务完成对话框(奖励对话有选项) // Popup finish dialog when award talk has options
var uiMan = EC_Game.GetGameRun()?.GetUIManager()?.GetInGameUIMan();
if (uiMan != null)
{
uiMan.PopupTaskFinishDialog(pTempl.GetID(), pTalk);
s_finishDlgShownTime = ulCurTime;
}
break;
}
break;
}
}
}
continue;
}
@@ -195,16 +220,16 @@ namespace BrewMonster.Scripts.Task
if (ulCurTime - s_finishDlgShownTime < FINISH_DLG_SHOWN_TIME)
continue;
float[] pos = new float[3];
uint ulWorldId = (uint)pTask.GetPos(pos);
float[] leavePos = new float[3];
uint leaveWorldId = (uint)pTask.GetPos(leavePos);
bool regRet = false;
if (ulWorldId == pTempl.m_FixedData.m_ulLeaveSiteId)
if (leaveWorldId == pTempl.m_FixedData.m_ulLeaveSiteId)
{
for (uint iRegion = 0; iRegion < pTempl.m_FixedData.m_ulLeaveSiteCnt; iRegion++)
{
Task_Region t = pTempl.m_FixedData.m_pLeaveSite[(int)iRegion];
if (IsInZone(t.zvMin, t.zvMax, pos))
if (IsInZone(t.zvMin, t.zvMax, leavePos))
{
regRet = true;
break;
@@ -214,15 +239,39 @@ namespace BrewMonster.Scripts.Task
if (!regRet)
{
var pTalk = pTempl.m_AwardTalk;
if (pTalk.num_window == 0 || (pTalk.num_window == 1 && pTalk.windows != null && pTalk.windows.Length > 0 && pTalk.windows[0].num_option == 0))
// If num_window == 1 but windows is null/empty, treat as no options (send notification)
bool shouldNotifyDirectly = false;
if (pTalk.num_window == 0)
{
shouldNotifyDirectly = true;
}
else if (pTalk.num_window == 1)
{
if (pTalk.windows == null || pTalk.windows.Length == 0)
{
// Invalid state: num_window == 1 but windows is null/empty - treat as no options
shouldNotifyDirectly = true;
}
else if (pTalk.windows[0].num_option == 0)
{
shouldNotifyDirectly = true;
}
}
if (shouldNotifyDirectly)
{
pTempl.IncValidCount();
_notify_svr(pTask, ClientNotificationConstants.TASK_CLT_NOTIFY_LEAVE_SITE, (ushort)pTempl.GetID());
_notify_svr(pTask, (byte)ClientNotificationConstants.TASK_CLT_NOTIFY_LEAVE_SITE, (ushort)pTempl.GetID());
}
else
{
// TODO: PopupTaskFinishDialog not exposed; implement UI as needed
s_finishDlgShownTime = ulCurTime;
// 弹出任务完成对话框(奖励对话有选项) // Popup finish dialog when award talk has options
var uiMan = EC_Game.GetGameRun()?.GetUIManager()?.GetInGameUIMan();
if (uiMan != null)
{
uiMan.PopupTaskFinishDialog(pTempl.GetID(), pTalk);
s_finishDlgShownTime = ulCurTime;
}
}
}
continue;
+12 -5
View File
@@ -483,7 +483,13 @@ namespace BrewMonster.Scripts.Task.UI
// ATaskTemplMan *pMan = GetGame()->GetTaskTemplateMan();
ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan();
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
// Host player can be null during early UI bootstrap (before InitCharacter/self-info).
// In that case just no-op; quest UI will populate once the player exists and the dialog is reopened/refreshed.
var host = EC_Game.GetGameRun()?.GetHostPlayer();
if (host == null) return true;
CECTaskInterface pTask = host.GetTaskInterface();
if (pTask == null)
{
@@ -610,7 +616,7 @@ namespace BrewMonster.Scripts.Task.UI
// Setup managers and UI references
ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan();
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
CECTaskInterface pTask = GetHostPlayer()?.GetTaskInterface();
var pTextDesc = m_pTxt_Content;
var pTextItem = m_pTxt_QuestItem;
@@ -871,7 +877,7 @@ namespace BrewMonster.Scripts.Task.UI
{
var pTreeTask = m_pTv_Quest;
var pMan = EC_Game.GetTaskTemplateMan();
var pTask = GetHostPlayer().GetTaskInterface();
var pTask = GetHostPlayer()?.GetTaskInterface();
if (pTreeTask == null || pMan == null || pTask == null) return;
ATaskTempl parentTempl = pMan.GetTaskTemplByID(idTask);
@@ -1497,7 +1503,7 @@ namespace BrewMonster.Scripts.Task.UI
private void UpdateTaskConfirm(int idTask, bool bFinishType)
{
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
CECTaskInterface pTask = GetHostPlayer()?.GetTaskInterface();
if (m_pBtn_FinishTask != null && pTask != null && bFinishType)
{
m_pBtn_FinishTask.gameObject.SetActive(true);
@@ -1575,7 +1581,8 @@ namespace BrewMonster.Scripts.Task.UI
// pTreeTask.SetItemTextColor(pParent, GetTaskColor(pTemp));
}
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
CECTaskInterface pTask = GetHostPlayer()?.GetTaskInterface();
if (pTask == null) return;
string strItem = GetTaskNameWithColor(pTemp);
bool bTaskPushed = pMan.IsTaskToPush(id) && !pTask.HasTask((uint)id);
if (bTaskPushed) {
@@ -100,9 +100,19 @@ namespace BrewMonster.UI
{
}
public virtual void Update()
{
Render();
}
public virtual void OnShowDialogue()
{
}
public virtual bool Render()
{
return false;
}
}
}
@@ -0,0 +1,133 @@
using UnityEngine;
namespace BrewMonster.UI
{
//Win_Hpmpxp
public class DlgHost : AUIDialog
{
public const int AUIPROGRESS_MAX = 100;
private DlgWinPrgs2 _dlgWinPrgs;
private CECHostPlayer _pHost;
public override bool Render()
{
// if( m_szName == "Win_Hpmpxp" )
// RefreshHostStats();
// else if (m_szName == "Win_HideHP")
// {
// a_LogOutput(1,"[Dat Mine] Win_HideHP");
RefreshStatusBar();
// }
return base.Render();
}
public void RefreshStatusBar()
{
bool bActive = true;
// if( GetGameUIMan()->GetActiveDialog() &&
// GetGameUIMan()->GetActiveDialog()->GetFocus() &&
// GetGameUIMan()->GetActiveDialog()->GetFocus()->GetType() == AUIOBJECT_TYPE_EDITBOX )
// bActive = false;
//
// // Flight bar.
// RefreshFlightBar(bActive);
//
// // Oxigen bar.
// RefreshOxigenBar(bActive);
// Gather bar.
RefreshGatherBar(bActive);
// // group these bars, show only one at one time
// bool bShow = false;
// // Power bar.
// bShow |= RefreshPowerBar(bShow, bActive);
// // Array bar.
// bShow |= RefreshArrayBar(bShow, bActive);
// // Incant bar.
// bShow |= RefreshIncantBar(bShow, bActive);
//
// if (GetHostPlayer()->GetCurSkill() && !bShow)
// {
// // ´«Ë͵ȷ½Ê½µ¼ÖÂλÖÃÇл»¡¢¼¼ÄÜ£¨Õó¼¼ÄÜ£©ÈÔÈ»ÔÚÊÍ·Å״̬
// //
// GetGameSession()->c2s_CmdCancelAction();
// }
//
// // AutoHP bar.
// RefreshAutoHPBar(bActive);
//
// // AutoMP bar.
// RefreshAutoMPBar(bActive);
//
// // pet status
// RefreshPetStatus();
//
// //ELF status
// RefreshElfStatus();
}
private bool RefreshGatherBar(bool bActive)
{
if (_dlgWinPrgs == null)
{
var pDlg = GetGameUIMan().GetDialog("Win_Prgs2");
if (pDlg == null)
{
BMLogger.LogError("Null Win_Prgs2");
return false;
}
if (pDlg is not DlgWinPrgs2 dlgWinPrgs)
{
BMLogger.LogError("Can not cast Win_Prgs2");
return false;
}
_dlgWinPrgs = dlgWinPrgs;
}
if (_pHost == null)
{
_pHost = GetHostPlayer();
if (_pHost == null) return false;
}
CECCounter counter = _pHost.GetGatherCnt();
if (_pHost.IsGathering())
{
int nCur = (int)counter.GetCounter();
int nMax = Mathf.Max((int)counter.GetPeriod(), 1);
if (!_dlgWinPrgs.IsShow())
_dlgWinPrgs.Show(bActive);//true, false, bActive
// PAUIPROGRESS pProgress = (PAUIPROGRESS)pDlg.GetDlgItem("Prgs");
// PAUILABEL pLabel = (PAUILABEL)pDlg.GetDlgItem("1");
var percent = AUIPROGRESS_MAX * nCur / nMax;
_dlgWinPrgs.SetProgressAndText(percent*1.0f/100.0f,$"{percent}%");
// pLabel.SetText(percent);
// pProgress.SetProgress(AUIPROGRESS_MAX * nCur / nMax);
if (percent >= 100)
{
_dlgWinPrgs.SetActiveProgress(false);
}
else
{
_dlgWinPrgs.SetActiveProgress(true);
}
}
else
{
if (_dlgWinPrgs.IsShow())
{
_dlgWinPrgs.Show(false);
_dlgWinPrgs.SetActiveProgress(false);
}
}
return _dlgWinPrgs.IsShow();
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 11e80692643c0ff4ca58d76679b26327
@@ -0,0 +1,35 @@
using UnityEngine;
using UnityEngine.UI;
namespace BrewMonster.UI
{
//Win_Prgs2
public class DlgWinPrgs2 : AUIDialog
{
[SerializeField] private Slider progressSlider; // Slider bar
[SerializeField] private TMPro.TextMeshProUGUI progressText; // Progress text
/// <summary>
/// Set the slider's value and text at the same time
/// </summary>
/// <param name="value">Progress percentage (0~1)</param>
/// <param name="text"></param>
public void SetProgressAndText(float value, string text)
{
if (progressSlider != null)
{
progressSlider.value = Mathf.Clamp01(value);
}
if (progressText != null)
{
progressText.text = text;
}
}
public void SetActiveProgress(bool active)
{
progressSlider.gameObject.SetActive(active);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 57d74d19ef3b2c44fbb72ec587caa705
@@ -16,6 +16,7 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay
[SerializeField] Button skillbutton;
[SerializeField] Image skillImage;
[SerializeField] int cooldownTime;
[SerializeField] AUIClockIcon m_ClockCounter;
private void Awake()
{
@@ -50,5 +51,6 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay
skillImage.color = Color.white;
skillbutton.interactable = true;
}
public AUIClockIcon GetClockIcon() => m_ClockCounter;
}
}
@@ -27,6 +27,8 @@ namespace BrewMonster
int iIconFile, nMax;
AUIImagePicture pCell;
CECSkill pSkill = new CECSkill(-1, -1);
AUIClockIcon pClock;
int nCurPanel9 = GetCurPanel1();
int nCurPanel8 = GetCurPanel2();
@@ -50,9 +52,9 @@ namespace BrewMonster
{
pCell = AUIImagePictureList[j];
pSC = a_pSCS[i].GetShortcut(j);
/* pClock = pCell->GetClockIcon();
pClock->SetProgressRange(0, 1);
pClock->SetProgressPos(1);*/
pClock = pCell.GetClockIcon();
pClock.SetProgressRange(0, 1);
pClock.SetProgressPos(1);
if (pSC != null)
{
if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILL)
@@ -67,38 +69,42 @@ namespace BrewMonster
}
else
{
/* if (pSkill && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill)
{
if (GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID()))
{
if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill))
{
pCell->SetColor(A3DCOLORRGB(255, 255, 255));
}
else
{
pCell->SetColor(A3DCOLORRGB(128, 128, 128));
}
}
else
{
if (!pHost->CheckSkillCastCondition(pSkill))
pCell->SetColor(A3DCOLORRGB(255, 255, 255));
else
pCell->SetColor(A3DCOLORRGB(128, 128, 128));
}
}
else
pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128));
if (pSkill && (pSkill->GetCoolingTime() > 0 ||
pHost->GetPrepSkill() == pSkill))
{
pClock->SetProgressRange(0, pSkill->GetCoolingTime());
if (pHost->GetPrepSkill() == pSkill)
pClock->SetProgressPos(0);
else
pClock->SetProgressPos(pSkill->GetCoolingTime() - pSkill->GetCoolingCnt());
}*/
if (pSkill != null && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill)
{
if (ElementSkill.IsGoblinSkill((uint)pSkill.GetSkillID()))
{
/* if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill))
{
pCell->SetColor(A3DCOLORRGB(255, 255, 255));
}
else
{
pCell->SetColor(A3DCOLORRGB(128, 128, 128));
}*/
}
else
{
if (pHost.CheckSkillCastCondition(pSkill) == 0)
{
//pCell.SetColor(A3DCOLORRGB(255, 255, 255));
}
else
{
//pCell.SetColor(A3DCOLORRGB(128, 128, 128));
}
}
}
/* else
pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128));*/
if (pSkill != null && (pSkill.GetCoolingTime() > 0 ||
pHost.GetPrepSkill() == pSkill))
{
pClock.SetProgressRange(0, pSkill.GetCoolingTime());
if (pHost.GetPrepSkill() == pSkill)
pClock.SetProgressPos(0);
else
pClock.SetProgressPos(pSkill.GetCoolingTime() - pSkill.GetCoolingCnt());
}
}
}
/*else if (pSC->GetType() == CECShortcut::SCT_ITEM)
@@ -57,6 +57,25 @@ namespace BrewMonster.UI
m_pDlgNPC.PopupNPCDialog(pTalk);
}
// 弹出任务完成对话框(到达/离开地点等触发) // Popup task-finish dialog (reach/leave site, etc.)
// C++: pTask->PopupTaskFinishDialog(taskId, &awardTalk); then OnUIDialogEnd() notifies server.
public bool PopupTaskFinishDialog(uint taskId, talk_proc pTalk)
{
if (pTalk.num_window == 0) return false;
if (m_pDlgNPC == null)
{
GameObject ob = m_dialogResouce.GetPrefabDialog("DialogNPC");
m_pDlgNPC = GameObject.Instantiate(ob, m_canvas.transform).GetComponent<DlgNPC>();
m_pDlgNPC.SetAUIManager(this);
}
m_idCurFinishTask = (int)taskId;
m_pDlgNPC.PopupNPCDialog(pTalk);
m_pDlgNPC.SetData(DlgNPC.NPC_DIALOG.NPC_DIALOG_TASK_TALK, "");
return true;
}
public void EndNPCService()
{
m_pCurNPCEssence = null;
@@ -0,0 +1,48 @@
using System;
using UnityEngine;
using UnityEngine.UI;
namespace BrewMonster
{
public class AUIClockIcon : MonoBehaviour
{
[SerializeField] private Image m_ClockIcon;
[SerializeField] private int m_iMin;
[SerializeField] private int m_iMax;
[SerializeField] private int m_iPos;
public Image GetClockIcon() => m_ClockIcon;
public void SetProgressPos(float progress)
{
progress = Math.Clamp(progress, m_iMin, m_iMax);
m_ClockIcon.fillAmount = progress;
UpdateClockIcon();
BMLogger.LogError("AUIClockIcon SetProgressPos ");
}
public void SetProgressRange(int min, int max)
{
if (min >= max)
{
BMLogger.LogError("AUIClockIcon SetProgressRange min should be greater than max ");
return;
}
m_iMin = min;
m_iMax = max;
m_iPos = Math.Clamp(m_iPos, m_iMin, m_iMax);
}
private void Update()
{
if (m_iPos != m_iMin)
{
UpdateClockIcon();
}
}
private void UpdateClockIcon()
{
float progress = (float)(m_iPos - m_iMin) / (m_iMax - m_iMin);
m_ClockIcon.fillAmount = progress;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 70ec0de7d6bb5134fbdf6bf9b1cfbff4
@@ -71,6 +71,12 @@ namespace BrewMonster.Scripts.World
return pObject;
}
public int GetInstanceID() { return m_idInst; }
// 设置实例ID(地图ID // Set instance ID (map ID)
public void SetInstanceID(int idInst)
{
m_idInst = idInst;
}
public CECAssureMove GetAssureMove()
{ return m_pAssureMove; }
+7 -280
View File
@@ -202,7 +202,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 11414302, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
propertyPath: m_Value
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11490438, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
propertyPath: m_IgnoreReversedGraphics
@@ -210,7 +210,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 22400762, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.000061035156
value: -0.000061035156
objectReference: {fileID: 0}
- target: {fileID: 22426080, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
propertyPath: m_AnchorMax.x
@@ -220,6 +220,10 @@ PrefabInstance:
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 22426080, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 22428984, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
propertyPath: m_AnchorMax.y
value: 0
@@ -526,42 +530,10 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 8647913387955223815}
m_Modifications:
- target: {fileID: 473551792621656190, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: cooldownTime
value: 4
objectReference: {fileID: 0}
- target: {fileID: 5713000252331107611, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: m_Name
value: Canvas_Skill
objectReference: {fileID: 0}
- target: {fileID: 7339434961787820866, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: m_aSkillImage.Array.size
value: 3
objectReference: {fileID: 0}
- target: {fileID: 7339434961787820866, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: m_aSkillButton.Array.size
value: 3
objectReference: {fileID: 0}
- target: {fileID: 7339434961787820866, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: AUIImagePictureList.Array.size
value: 3
objectReference: {fileID: 0}
- target: {fileID: 7339434961787820866, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: 'AUIImagePictureList.Array.data[1]'
value:
objectReference: {fileID: 8289406837700321256}
- target: {fileID: 7339434961787820866, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: 'AUIImagePictureList.Array.data[2]'
value:
objectReference: {fileID: 4274290164988972389}
- target: {fileID: 7646065705685923996, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: m_AnchoredPosition.x
value: 264
objectReference: {fileID: 0}
- target: {fileID: 7646065705685923996, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: m_AnchoredPosition.y
value: -387
objectReference: {fileID: 0}
- target: {fileID: 8078455359151753464, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
propertyPath: m_Pivot.x
value: 0
@@ -644,259 +616,14 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 1608209508545832950, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
insertIndex: -1
addedObject: {fileID: 2272012679362150154}
- targetCorrespondingSourceObject: {fileID: 1608209508545832950, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
insertIndex: -1
addedObject: {fileID: 6331912252351786375}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
--- !u!224 &33904160082820478 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 1608209508545832950, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
m_PrefabInstance: {fileID: 1597073214178286216}
m_PrefabAsset: {fileID: 0}
--- !u!224 &7364935673883923056 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8078455359151753464, guid: be3a491baf7e4be4487c4eb18ea11468, type: 3}
m_PrefabInstance: {fileID: 1597073214178286216}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1766854943939269159
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 33904160082820478}
m_Modifications:
- target: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: cooldownTime
value: 7
objectReference: {fileID: 0}
- target: {fileID: 4284393271722921544, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Name
value: ButtonSkill1 (2)
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.x
value: 160
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.y
value: 155.1223
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.x
value: 613
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.y
value: -134
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
--- !u!114 &4274290164988972389 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 1766854943939269159}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67fd391520cbfd44f84a1c6bb57673c0, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &6331912252351786375 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 1766854943939269159}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &5826979442234998954
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 33904160082820478}
m_Modifications:
- target: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: cooldownTime
value: 9
objectReference: {fileID: 0}
- target: {fileID: 4284393271722921544, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Name
value: ButtonSkill1 (1)
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.x
value: 160
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_SizeDelta.y
value: 155.1223
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.x
value: 390
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_AnchoredPosition.y
value: -232
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
--- !u!224 &2272012679362150154 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5717981154351234976, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 5826979442234998954}
m_PrefabAsset: {fileID: 0}
--- !u!114 &8289406837700321256 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2581817642771390274, guid: 8586a375545487f43b57c6ffdce6fbfd, type: 3}
m_PrefabInstance: {fileID: 5826979442234998954}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67fd391520cbfd44f84a1c6bb57673c0, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &6181970391454287574
PrefabInstance:
m_ObjectHideFlags: 0
+2 -2
View File
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6bfb2c87e34e7367378cc1fd29debe319ccba7a1b9da2ebe55840de35cbbdeb9
size 200764152
oid sha256:dfacfe7598c13b74bf00df392384c4c626d00ac99325d3db2353f0e31cc8a414
size 200761977
+19 -1
View File
@@ -5,7 +5,6 @@ using BrewMonster.Scripts.World;
using BrewMonster.UI;
using CSNetwork;
using CSNetwork.GPDataType;
using CSNetwork.GPDataType;
using CSNetwork.Protocols.RPCData;
using System.Collections.Generic;
using System.Data;
@@ -144,6 +143,25 @@ public partial class CECGameRun
BMLogger.LogError("null _playerPrefab");
return;
}
// 同步世界/地图ID给任务系统(GetPos 返回的 worldId
// English: Sync map ID to task system (worldId returned by GetPos).
// We don't receive mapId in cmd_self_info_1, so use selected RoleInfo.worldtag as current map id.
var roleInfo = UnityGameSession.Instance != null ? UnityGameSession.Instance.GetRoleInfo() : null;
if (roleInfo != null)
{
int idInst = roleInfo.worldtag;
if (idInst > 0)
{
// Ensure instance exists in table (minimal stub instance is fine for now)
if (!m_InstTab.ContainsKey(idInst))
m_InstTab.Add(idInst, new CECInstance());
// Update global world instance id used by task checks
CECWorld.Instance?.SetInstanceID(idInst);
}
}
CECPlayer.InitStaticRes();
hostPlayer = ObjectSpawner.Instance.InstantiateObject(_playerPrefab, setThisAsParent: true).AddComponent<CECHostPlayer>();
hostPlayer.InitCharacter(info);
+364 -13
View File
@@ -19,6 +19,7 @@ using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using UnityEngine;
using UnityEngine.PlayerLoop;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using static System.Net.Mime.MediaTypeNames;
@@ -101,6 +102,8 @@ namespace BrewMonster
public ON_AIR_CDR_INFO m_AirCDRInfo;
public ushort m_wMoveStamp = 0;
private CECCounter m_GatherCnt; // Gather counter
Dictionary<int, COOLTIME> m_skillCoolTime = new();
COOLTIME[] m_aCoolTimes = new COOLTIME[(int)CoolTimeIndex.GP_CT_MAX]; // Cool times
// Host config data version
const int HOSTCFG_VERSION = 11;
@@ -223,7 +226,11 @@ namespace BrewMonster
ccSkin = controller.skinWidth;
}
m_TaskCounter.SetCounter(3000f);
// 任务状态检查节流(毫秒) // Throttle task status check (milliseconds)
// NOTE: CECCounter uses "Period" as threshold; SetCounter only sets current value.
// We want task checking roughly every 3 seconds, not every frame.
m_TaskCounter.SetPeriod(3000f);
m_TaskCounter.Reset(true); // trigger first check immediately
m_bTitleDataReady = false;
playerTransform = transform;
m_GatherCnt ??= new CECCounter();
@@ -320,6 +327,8 @@ namespace BrewMonster
// track status of Task
TickTask();
// Update timers
UpdateTimers(Time.deltaTime);
m_pWorkMan?.Tick(Time.deltaTime);
@@ -329,7 +338,7 @@ namespace BrewMonster
//m_dwMoveRelDir = 0;
m_fVertSpeed = 0.0f;
UpdateTimers(Time.deltaTime);
// Auto team / Automatic party grouping
// m_pAutoTeam.Tick(Time.deltaTime);
}
@@ -488,6 +497,8 @@ namespace BrewMonster
case int value when value == EC_MsgDef.MSG_PM_PLAYERDOEMOTE: OnMsgPlayerDoEmote(Msg); break;
case int value when value == EC_MsgDef.MSG_HST_TARGETISFAR: OnMsgHstTargetIsFar(Msg); break;
case int value when value == EC_MsgDef.MSG_PM_PLAYERGATHER: OnMsgPlayerGather(Msg); break;
case int value when value == EC_MsgDef.MSG_HST_COOLTIMEDATA: OnMsgHstCoolTimeData(Msg); break;
}
@@ -511,6 +522,80 @@ namespace BrewMonster
}*/
}
private void OnMsgHstCoolTimeData(ECMSG Msg)
{
cmd_cooltime_data pCmd = default;
var data = (byte[])Msg.dwParam1;
pCmd.count = GPDataTypeHelper.FromBytes<ushort>(data, 0);
long offset = Marshal.SizeOf(typeof(ushort));
pCmd.list = new item_t[pCmd.count];
for (int i = 0; i < pCmd.count; i++)
{
pCmd.list[i] = GPDataTypeHelper.FromBytes<item_t>(data, ref offset);
}
m_skillCoolTime.Clear();
for (int i = 0; i < pCmd.count; i++)
{
item_t item = pCmd.list[i];
if (item.idx > (int)CoolTimeIndex.GP_CT_SKILL_START)
{
// Is skill cool time
int idSkill = item.idx - (int)CoolTimeIndex.GP_CT_SKILL_START;
COOLTIME ct = m_skillCoolTime[idSkill];
ct.iCurTime = item.cooldown;
ct.iMaxTime = item.max_cooltime;
Mathf.Clamp(ct.iCurTime, 0, ct.iMaxTime);
CECSkill pSkill = GetNormalSkill(idSkill);
if (pSkill != null)
{
pSkill.StartCooling(item.max_cooltime, item.cooldown);
}
/* else if (pSkill = CECComboSkillState::Instance().GetInherentSkillByID(idSkill))
{
pSkill.StartCooling(item.max_cooltime, item.cooldown);
}*/
else if (GetEquipSkillByID(idSkill) == null)
{
// Add to goblin skill list
pSkill = new CECSkill(idSkill, 1);
pSkill.StartCooling(item.max_cooltime, item.cooldown);
m_aGoblinSkills.Add(pSkill);
}
m_skillCoolTime[idSkill] = ct;
}
else if (item.idx >= 0 && item.idx < (int)CoolTimeIndex.GP_CT_MAX)
{
// Other cool time
COOLTIME ct = m_aCoolTimes[item.idx];
ct.iCurTime = item.cooldown;
ct.iMaxTime = item.max_cooltime;
Mathf.Clamp(ct.iCurTime, 0, ct.iMaxTime);
if (item.idx >= (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0 && item.idx <= (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN4)
{
// other player skills should be set public cool down too.
uint mask = (uint)(1 << (item.idx - (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0));
for (int y = 0; y < GetPositiveSkillNum(); y++)
{
CECSkill pSkill = GetPositiveSkillByIndex(y);
if (pSkill != null && ((pSkill.GetCommonCoolDown() & mask) != 0))
pSkill.StartCooling(item.max_cooltime, item.cooldown);
}
}
}
else
{
BMLogger.LogError("item.idx >= 0: " + (item.idx >= 0));
}
}
UpdateEquipSkillCoolDown();
}
private void OnMsgEnchantResult(ECMSG msg)
{
// 从消息中获取cmd_enchant_result结构 // Get cmd_enchant_result structure from message
@@ -1101,7 +1186,7 @@ namespace BrewMonster
public bool HostIsReady()
{
return m_bEnterGame;
return m_bEnterGame;
}
private void OnMsgHstDied(in ECMSG msg)
@@ -2737,6 +2822,7 @@ namespace BrewMonster
float fMaxCut = 1.0f)
{
float fDist = A3d_Magnitude(vTargetPos - vHostPos);
BMLogger.LogError($"CanTouchTarget iReason={iReason} , m_pPrepSkill={m_pPrepSkill}");
switch (iReason)
{
case 1: // melee
@@ -2764,8 +2850,11 @@ namespace BrewMonster
{
if (m_pPrepSkill != null)
{
//TODO : Check this function GetCastRange
float fRange = m_pPrepSkill.GetCastRange(m_ExtProps.ak.AttackRange, GetPrayDistancePlus());
BMLogger.LogError($"HoangDev: CanTouchTarget fDist= {fDist}, fRange={fRange}, fDist - fTargetRad={fDist - fTargetRad}, m_ExtProps.ak.AttackRange ={m_ExtProps.ak.AttackRange}, GetPrayDistancePlus()={GetPrayDistancePlus()}");
if (fRange > 0.0f)
{
if (fDist - fTargetRad <= fRange)
@@ -2795,7 +2884,84 @@ namespace BrewMonster
return false;
}
public bool GetSkillCoolTime(int idSkill, out COOLTIME ct)
{
// 获取技能的非公共冷却时间
bool bFound = false;
ct = new COOLTIME();
if (m_skillCoolTime.TryGetValue(idSkill, out ct))
{
bFound = true;
}
return bFound;
}
// Update equipment skill cool down
// 更新装备技能冷却
public void UpdateEquipSkillCoolDown(int cooldown_index = -1)
{
if (cooldown_index < 0)
{
// 更新所有装备技能
// Update all equipment skills
for (int i = 0; i < GetEquipSkillNum(); ++i)
{
CECSkill pSkill = GetEquipSkillByIndex(i);
// 检查技能冷却
// Check skill cooldown
COOLTIME temp;
if (GetSkillCoolTime(pSkill.GetSkillID(), out temp))
{
pSkill.StartCooling(temp.iMaxTime, temp.iCurTime);
continue;
}
// 检查公共冷却
// Check common cooldown
int ccd = pSkill.GetCommonCoolDown();
if (ccd == 0) continue;
for (int j = 0; j < 5; ++j)
{
if ((ccd & (1 << j)) != 0)
{
COOLTIME ct = m_aCoolTimes[(int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0 + j];
pSkill.StartCooling(ct.iMaxTime, ct.iCurTime);
break;
}
}
}
}
else
{
// 更新指定技能
// Update specified skill
if (cooldown_index > (int)CoolTimeIndex.GP_CT_SKILL_START)
{
int idSkill = cooldown_index - (int)CoolTimeIndex.GP_CT_SKILL_START;
CECSkill pSkill = GetEquipSkillByID(idSkill);
COOLTIME temp;
if (pSkill != null && GetSkillCoolTime(idSkill, out temp))
pSkill.StartCooling(temp.iMaxTime, temp.iCurTime);
}
else if (cooldown_index >= (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0 && cooldown_index <= (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN4)
{
int index = cooldown_index - (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0;
COOLTIME ct = m_aCoolTimes[(int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0 + index];
uint mask = (uint)(1 << index);
for (int i = 0; i < GetEquipSkillNum(); ++i)
{
CECSkill pSkill = GetEquipSkillByIndex(i);
int ccd = pSkill.GetCommonCoolDown();
if ((ccd & mask) != 0)
pSkill.StartCooling(ct.iMaxTime, ct.iCurTime);
}
}
}
}
public void RemoveObjectFromTabSels(CECObject pObject)
{
for (int i = 0; i < m_aTabSels.Count; i++)
@@ -3675,6 +3841,8 @@ namespace BrewMonster
return (fDist <= fTestDist);
}
public int GetPositiveSkillNum() { return m_aPtSkills.Count; }
public CECSkill GetPositiveSkillByIndex(int n) { return m_aPtSkills[n]; }
public bool UpdateEquipSkins()
{
@@ -4292,8 +4460,8 @@ namespace BrewMonster
{
if (IsDead())
{
/* CECGameUIMan pGameUI = g_pGame->GetGameRun()->GetUIManager()->GetInGameUIMan();
pGameUI->PopupReviveDialog(true);*/
/* CECGameUIMan pGameUI = g_pGame->GetGameRun()->GetUIManager()->GetInGameUIMan();
pGameUI->PopupReviveDialog(true);*/
PopupManager.Instance.OnPlayerDied();
}
m_bEnterGame = true;
@@ -5073,15 +5241,13 @@ namespace BrewMonster
}
// Is gathering resources
bool IsGathering()
public bool IsGathering()
{
if(m_pWorkMan == null) return false;
CECHPWork pWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_PICKUP);
if (pWork != null)
return ((EC_HPWorkPick)pWork).IsGather();
return false;
// TODO: fix later
//CECHPWork pWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_PICKUP);
//if (pWork != null)
// return (pWork as CECHPWorkPick).IsGather();
//else
// return false;
}
// Is using item ?
@@ -5652,6 +5818,19 @@ namespace BrewMonster
m_pWorkMan.FinishRunningWork(Host_work_ID.WORK_PICKUP);
m_pWorkMan.FinishRunningWork(Host_work_ID.WORK_USEITEM);
// StopMonsterSpiritConnectGfx();
var pDlg = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan().GetDialog("Win_Prgs2");
if (pDlg == null)
{
BMLogger.LogError("Null Win_Prgs2");
return;
}
if (pDlg is not DlgWinPrgs2 dlgWinPrgs)
{
BMLogger.LogError("Can not cast Win_Prgs2");
return;
}
dlgWinPrgs.SetActiveProgress(false);
}
else if (cmd == CommandID.MINE_GATHERED)
{
@@ -5666,5 +5845,177 @@ namespace BrewMonster
}
}
}
public CECCounter GetGatherCnt() { return m_GatherCnt; }
public void UpdateTimers(float dwDeltaTime)
{
// Get real time tick of this frame
// Update flysword time
/*if (IsFlying() && GetRushFlyFlag())
{
CECIvtrItem pItem = m_pEquipPack.GetItem(EQUIPIVTR_FLYSWORD);
Debug.Assert(pItem != null);
if (pItem.GetClassID() == CECIvtrItem.ICID_FLYSWORD)
{
CECIvtrFlySword pFlySword = (CECIvtrFlySword)pItem;
pFlySword.TimePass(dwDeltaTime);
}
}*/
int i;
// Update skills
for (i = 0; i < m_aPtSkills.Count; i++)
m_aPtSkills[i].Tick(dwDeltaTime);
for (i = 0; i < m_aPsSkills.Count; i++)
m_aPsSkills[i].Tick(dwDeltaTime);
for (i = 0; i < m_aGoblinSkills.Count; i++)
m_aGoblinSkills[i].Tick(dwDeltaTime);
for (i = 0; i < m_aEquipSkills.Count; i++)
m_aEquipSkills[i].Tick(dwDeltaTime);
if (m_pTargetItemSkill != null)
m_pTargetItemSkill.Tick(dwDeltaTime);
//CECComboSkillState.Instance().Tick();
// Update cool times
for (i = 0; i < (int)CoolTimeIndex.GP_CT_MAX; i++)
m_aCoolTimes[i].Update(dwDeltaTime);
foreach (var kvp in m_skillCoolTime)
{
kvp.Value.Update(dwDeltaTime);
}
// Gather time counter
if (m_GatherCnt.IncCounter(dwDeltaTime))
m_GatherCnt.Reset(true);
// Incant time counter
if (m_IncantCnt.IncCounter(dwDeltaTime))
m_IncantCnt.Reset(true);
// Bind command cool counter
/* if (m_BindCmdCoolCnt.IncCounter(dwDeltaTime))
m_BindCmdCoolCnt.Reset(true);
// Auto fashion time counter
if (m_bAutoFashion && GetBoothState() != 2 && !IsShapeChanged())
{
if (m_AutoFashionCnt.IncCounter(dwDeltaTime))
{
if (!CheckAutoFashionCondition())
{
while (!EquipFashionBySuitID((m_iCurFashionSuitID + 1) % GetMaxFashionSuitNum()))
m_iCurFashionSuitID++;
m_AutoFashionCnt.Reset();
}
}
}
// Auto convert Yinpiao
if (m_AutoYinpiao.open)
{
if (m_AutoYinpiao.cnt.IncCounter(dwDeltaTime))
{
ExchangeYinpiao();
m_AutoYinpiao.cnt.Reset();
}
}
// Control the dialog of the target item
m_TargetItemDlgCtrl.Update(dwDeltaTime);
// For some reasons on server, sometimes friend list couldn't be got
// successfully. Try to get it again every 20s if this case really happen
if (m_pFriendMan != null && !m_pFriendMan.CheckInit())
{
m_iGetFriendCnt -= dwDeltaTime;
if (m_iGetFriendCnt < 0)
{
EC_Game.GetGameSession().friend_GetList();
m_iGetFriendCnt = 60000;
}
}
// Duel stopping time counter
if (m_pvp.iDuelState == DUEL_ST_PREPARE)
{
m_pvp.iDuelTimeCnt -= dwDeltaTime;
if (m_pvp.iDuelTimeCnt < 0)
m_pvp.iDuelTimeCnt = 0;
}
else if (m_pvp.iDuelState == DUEL_ST_INDUEL)
{
m_pvp.iDuelTimeCnt += dwDeltaTime;
}
else if (m_pvp.iDuelState == DUEL_ST_STOPPING)
{
m_pvp.iDuelTimeCnt -= dwDeltaTime;
if (m_pvp.iDuelTimeCnt < 0)
{
m_pvp.iDuelTimeCnt = 0;
m_pvp.iDuelState = DUEL_ST_NONE;
m_pvp.idDuelOpp = 0;
}
}
// Update pariah time counter
if (m_dwPariahTime > 0)
{
if (m_dwPariahTime > (uint)dwDeltaTime)
m_dwPariahTime -= (uint)dwDeltaTime;
else
m_dwPariahTime = 0;
}
// Update pet operation time counter
m_PetOptCnt.IncCounter(dwDeltaTime);
// Update battle result time counter
if (IsInBattle() && !IsInFortress() && m_BattleInfo.iResult != 0 && m_BattleInfo.iResultCnt != 0)
{
if ((m_BattleInfo.iResultCnt -= dwDeltaTime) < 0)
m_BattleInfo.iResultCnt = 0;
}
// Update pet corral
if (m_pPetCorral != null)
m_pPetCorral.Tick((uint)dwDeltaTime);
// Update the related people
var keysToRemove = new List<int>();
foreach (var kvp in m_RelatedPlayer)
{
m_RelatedPlayer[kvp.Key] -= dwDeltaTime;
if (m_RelatedPlayer[kvp.Key] <= 0)
keysToRemove.Add(kvp.Key);
}
foreach (var key in keysToRemove)
{
m_RelatedPlayer.Remove(key);
}*/
}
public struct COOLTIME
{
public int iCurTime;
public int iMaxTime;
public void Update(float dwDeltaTime)
{
if (iCurTime > 0)
{
iCurTime -= (int)(dwDeltaTime * 1000);
Mathf.Clamp(iCurTime, 0, float.MaxValue);
}
}
}
}
}
}
+2
View File
@@ -39,6 +39,8 @@ public class CECUIManager : MonoSingleton<CECUIManager>
{
btnSecondClick.onClick.AddListener(OnSecondClickButtonClicked);
}
ShowUI("Win_Hpmpxp");
}
private void OnDestroy()
File diff suppressed because one or more lines are too long