Compare commits
3 Commits
45699adcc8
...
41c2fdbee5
| Author | SHA1 | Date | |
|---|---|---|---|
| 41c2fdbee5 | |||
| d20503fd9b | |||
| 9afdacde72 |
@ -576,6 +576,7 @@ Transform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 4424967554755073335}
|
- {fileID: 4424967554755073335}
|
||||||
- {fileID: 534221319385673590}
|
- {fileID: 534221319385673590}
|
||||||
|
- {fileID: 3729843840315893126}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -628,6 +629,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
playerState: 0
|
playerState: 0
|
||||||
animator: {fileID: 5526766409186502679}
|
animator: {fileID: 5526766409186502679}
|
||||||
|
playerCountCanvasPrefab: {fileID: 9029553984926861784}
|
||||||
--- !u!1 &4818123989977612668
|
--- !u!1 &4818123989977612668
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1514,3 +1516,114 @@ Transform:
|
|||||||
m_Father: {fileID: 724652835177063243}
|
m_Father: {fileID: 724652835177063243}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &4537709141704337870
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 5420572229297639394}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.x
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.y
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 2.239
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Canvas - World
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
--- !u!224 &3729843840315893126 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 4537709141704337870}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &9029553984926861784 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 4537709141704337870}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|||||||
@ -576,6 +576,7 @@ Transform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 4101024636752269533}
|
- {fileID: 4101024636752269533}
|
||||||
- {fileID: 209575521726294684}
|
- {fileID: 209575521726294684}
|
||||||
|
- {fileID: 1276728539856229656}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -628,6 +629,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
playerState: 0
|
playerState: 0
|
||||||
animator: {fileID: 5274388487207906813}
|
animator: {fileID: 5274388487207906813}
|
||||||
|
playerCountCanvasPrefab: {fileID: 6862258105288866118}
|
||||||
--- !u!1 &5059623752267150313
|
--- !u!1 &5059623752267150313
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1514,3 +1516,158 @@ Transform:
|
|||||||
m_Father: {fileID: 1832908541896867547}
|
m_Father: {fileID: 1832908541896867547}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &2057554100330600784
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 5672526856521419272}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.x
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.y
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 2.239
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Canvas - World
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.b
|
||||||
|
value: 0.1882353
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.g
|
||||||
|
value: 0.52156866
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.r
|
||||||
|
value: 0.13333334
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
--- !u!224 &1276728539856229656 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2057554100330600784}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &6862258105288866118 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2057554100330600784}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|||||||
@ -162,6 +162,7 @@ Transform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 8277875877323360066}
|
- {fileID: 8277875877323360066}
|
||||||
- {fileID: 5251663078533119235}
|
- {fileID: 5251663078533119235}
|
||||||
|
- {fileID: 7416033585674372540}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -200,6 +201,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
playerState: 0
|
playerState: 0
|
||||||
animator: {fileID: 232863433340697214}
|
animator: {fileID: 232863433340697214}
|
||||||
|
playerCountCanvasPrefab: {fileID: 2911420982173280738}
|
||||||
--- !u!136 &1627116187348267135
|
--- !u!136 &1627116187348267135
|
||||||
CapsuleCollider:
|
CapsuleCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1514,3 +1516,158 @@ Transform:
|
|||||||
m_Father: {fileID: 8503180080140070530}
|
m_Father: {fileID: 8503180080140070530}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &7769048123306772980
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 338321318880370071}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.x
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.y
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 2.239
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Canvas - World
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.b
|
||||||
|
value: 0.7294118
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.g
|
||||||
|
value: 0.6666667
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.r
|
||||||
|
value: 0.6313726
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
--- !u!1 &2911420982173280738 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 7769048123306772980}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!224 &7416033585674372540 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 7769048123306772980}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|||||||
@ -1205,6 +1205,7 @@ Transform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2133300963410926754}
|
- {fileID: 2133300963410926754}
|
||||||
- {fileID: 2853674755695388387}
|
- {fileID: 2853674755695388387}
|
||||||
|
- {fileID: 8164022016059970845}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -1257,6 +1258,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
playerState: 0
|
playerState: 0
|
||||||
animator: {fileID: 7800412279828783518}
|
animator: {fileID: 7800412279828783518}
|
||||||
|
playerCountCanvasPrefab: {fileID: 4593694095142779203}
|
||||||
--- !u!1 &7074820051352815849
|
--- !u!1 &7074820051352815849
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1514,3 +1516,158 @@ Transform:
|
|||||||
m_Father: {fileID: 5537228651064754093}
|
m_Father: {fileID: 5537228651064754093}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &8968445451050703189
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 7767047851774264951}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 65645560966781747, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.x
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Pivot.y
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 2.239
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Canvas - World
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.b
|
||||||
|
value: 0.19607843
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.g
|
||||||
|
value: 0.17254902
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8752947010238866161, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
propertyPath: m_Color.r
|
||||||
|
value: 0.46666667
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
--- !u!1 &4593694095142779203 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4879164135252893718, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 8968445451050703189}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!224 &8164022016059970845 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 953143927943285832, guid: a925361762f504380a8aa4d7eb87b32c, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 8968445451050703189}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|||||||
@ -25,7 +25,7 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1950433650452808236}
|
m_GameObject: {fileID: 1950433650452808236}
|
||||||
m_LocalRotation: {x: -0, y: -0.40670383, z: -0, w: 0.91356015}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
@ -34,7 +34,7 @@ RectTransform:
|
|||||||
- {fileID: 6813413954384782979}
|
- {fileID: 6813413954384782979}
|
||||||
m_Father: {fileID: 953143927943285832}
|
m_Father: {fileID: 953143927943285832}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: -47.996, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
@ -61,7 +61,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 0.1254902, g: 0.42352942, b: 0.75686276, a: 1}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
@ -166,6 +166,7 @@ GameObject:
|
|||||||
- component: {fileID: 5587250865659051320}
|
- component: {fileID: 5587250865659051320}
|
||||||
- component: {fileID: 1334714064113256010}
|
- component: {fileID: 1334714064113256010}
|
||||||
- component: {fileID: 2739169735767897497}
|
- component: {fileID: 2739169735767897497}
|
||||||
|
- component: {fileID: 8176763997504289913}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Canvas - World
|
m_Name: Canvas - World
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -182,7 +183,7 @@ RectTransform:
|
|||||||
m_GameObject: {fileID: 4879164135252893718}
|
m_GameObject: {fileID: 4879164135252893718}
|
||||||
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_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 3, y: 3, z: 3}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 65645560966781747}
|
- {fileID: 65645560966781747}
|
||||||
@ -238,7 +239,7 @@ MonoBehaviour:
|
|||||||
m_FallbackScreenDPI: 96
|
m_FallbackScreenDPI: 96
|
||||||
m_DefaultSpriteDPI: 96
|
m_DefaultSpriteDPI: 96
|
||||||
m_DynamicPixelsPerUnit: 1
|
m_DynamicPixelsPerUnit: 1
|
||||||
m_PresetInfoIsWorld: 1
|
m_PresetInfoIsWorld: 0
|
||||||
--- !u!114 &2739169735767897497
|
--- !u!114 &2739169735767897497
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -256,6 +257,19 @@ MonoBehaviour:
|
|||||||
m_BlockingMask:
|
m_BlockingMask:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 4294967295
|
m_Bits: 4294967295
|
||||||
|
--- !u!114 &8176763997504289913
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4879164135252893718}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 12325a6692b2349b5992ec00a2cf8162, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
playerCountText: {fileID: 5414082930131347236}
|
||||||
--- !u!1 &8183529856602442984
|
--- !u!1 &8183529856602442984
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -68,7 +68,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
private Dictionary<PlayerType, PlayerGameData> playerGameDatasDict = new Dictionary<PlayerType, PlayerGameData>();
|
private Dictionary<PlayerType, PlayerGameData> playerGameDatasDict = new Dictionary<PlayerType, PlayerGameData>();
|
||||||
|
|
||||||
// botRuntimeMovementData: where can the bot move if a particular dice value is thrown, and based on the value set the bot move for each using a predictive approach and select based on the the priority
|
// botRuntimeMovementData: where can the bot move if a particular dice value is thrown, and based on the value set the bot move for each using a predictive approach and select based on the the priority
|
||||||
private Dictionary<PlayerType, Dictionary<int, BotMove>> botRuntimeMovementData = new Dictionary<PlayerType, Dictionary<int, BotMove>>();
|
private Dictionary<PlayerType, Dictionary<int, BotMove>> botRuntimeMovementData = new Dictionary<PlayerType, Dictionary<int, BotMove>>();
|
||||||
|
|
||||||
private TilesManager tilesManager;
|
private TilesManager tilesManager;
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
get; private set;
|
get; private set;
|
||||||
}
|
}
|
||||||
public List<PlayerType> PlayerTypesCollection => allPlayerTypes;
|
public List<PlayerType> PlayerTypesCollection => allPlayerTypes;
|
||||||
|
|
||||||
public void Initialize()
|
public void Initialize()
|
||||||
{
|
{
|
||||||
InterfaceManager.Instance?.RegisterInterface<GameplayManager>(this);
|
InterfaceManager.Instance?.RegisterInterface<GameplayManager>(this);
|
||||||
@ -96,7 +96,8 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
{
|
{
|
||||||
tilesManager = InterfaceManager.Instance.GetInterfaceInstance<TilesManager>();
|
tilesManager = InterfaceManager.Instance.GetInterfaceInstance<TilesManager>();
|
||||||
|
|
||||||
InitPlayerTypesForBotMatch(PlayerType.Player1, 3);
|
// InitPlayerTypesForBotMatch(PlayerType.Player1, 3);
|
||||||
|
// InitPlayerTypesForPVP(new List<PlayerType> { PlayerType.Player1, PlayerType.Player2})
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO :: Call when the UI selection is made and game starts
|
// TODO :: Call when the UI selection is made and game starts
|
||||||
@ -117,6 +118,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
allPlayerTypes.Clear();
|
allPlayerTypes.Clear();
|
||||||
AssignBotTypes(selectedPlayerType, botCount);
|
AssignBotTypes(selectedPlayerType, botCount);
|
||||||
|
|
||||||
|
|
||||||
allPlayerTypes.Add(selectedPlayerType);
|
allPlayerTypes.Add(selectedPlayerType);
|
||||||
allPlayerTypes.AddRange(botTypesInGame);
|
allPlayerTypes.AddRange(botTypesInGame);
|
||||||
|
|
||||||
@ -124,7 +126,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
InitCurrentGamePlayerInfo();
|
InitCurrentGamePlayerInfo();
|
||||||
InitBotRuntimeData();
|
InitBotRuntimeData();
|
||||||
AssignPlayerAndBotStates(selectedPlayerType);
|
AssignPlayerAndBotStates(selectedPlayerType);
|
||||||
|
|
||||||
SetCanRollDiceForUser(!botTypesInGame.Contains(selectedPlayerType));
|
SetCanRollDiceForUser(!botTypesInGame.Contains(selectedPlayerType));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,13 +205,14 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
Debug.Log($"playerGameData.playerType: {playerGameData.playerType}");
|
Debug.Log($"playerGameData.playerType: {playerGameData.playerType}");
|
||||||
|
|
||||||
playerGameDatasDict.Add(playerGameData.playerType, playerGameData);
|
playerGameDatasDict.Add(playerGameData.playerType, playerGameData);
|
||||||
playerGameDatasDict[playerGameData.playerType].playerPawnsDict = new Dictionary<int, PlayerPawn>();
|
playerGameDatasDict[playerGameData.playerType].playerPawnsDict = new Dictionary<int, PlayerPawn>();
|
||||||
|
|
||||||
foreach (Transform playerPawnChild in playerGameData.playersParent)
|
foreach (Transform playerPawnChild in playerGameData.playersParent)
|
||||||
{
|
{
|
||||||
if (!playerPawnChild.gameObject.activeInHierarchy) continue;
|
if (!playerPawnChild.gameObject.activeInHierarchy) continue;
|
||||||
|
|
||||||
var pawn = playerPawnChild.GetComponent<PlayerPawn>();
|
var pawn = playerPawnChild.GetComponent<PlayerPawn>();
|
||||||
playerGameDatasDict[playerGameData.playerType].playerPawnsDict.Add(pawn.PlayerId, pawn);
|
playerGameDatasDict[playerGameData.playerType].playerPawnsDict.Add(pawn.PlayerId, pawn);
|
||||||
}
|
}
|
||||||
@ -277,7 +280,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
// What happens when you get a 6
|
// What happens when you get a 6
|
||||||
private void SelectPawnFromBotBase()
|
private void SelectPawnFromBotBase()
|
||||||
{
|
{
|
||||||
if (canSwitchPlayer || availPlayers.Count() < 1 && !CanRollDiceAgain || !botTypesInGame.Contains(currentPlayerTypeTurn))
|
if (canSwitchPlayer || availPlayers.Count() < 1 && !CanRollDiceAgain || !botTypesInGame.Contains(currentPlayerTypeTurn))
|
||||||
{
|
{
|
||||||
Debug.Log($"returning from SelectPawnFromBotBase");
|
Debug.Log($"returning from SelectPawnFromBotBase");
|
||||||
return; // Have a better check here
|
return; // Have a better check here
|
||||||
@ -285,7 +288,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
|
|
||||||
Debug.Log($"CallTest: SelectPawnFromBotBase: {currentPlayerTypeTurn}");
|
Debug.Log($"CallTest: SelectPawnFromBotBase: {currentPlayerTypeTurn}");
|
||||||
var botPawnsDictForCurrentPlayer = botRuntimeMovementData[currentPlayerTypeTurn]; // set the data inside this dict
|
var botPawnsDictForCurrentPlayer = botRuntimeMovementData[currentPlayerTypeTurn]; // set the data inside this dict
|
||||||
|
|
||||||
// check the data from the playerGameDataDict
|
// check the data from the playerGameDataDict
|
||||||
// change playerPawnsDict to list
|
// change playerPawnsDict to list
|
||||||
|
|
||||||
@ -310,7 +313,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO :: Double check
|
// TODO :: Double check
|
||||||
foreach (var key in botPawnsDictForCurrentPlayer.Keys)
|
foreach (var key in botPawnsDictForCurrentPlayer.Keys)
|
||||||
{
|
{
|
||||||
@ -440,7 +443,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
diceRolledValue = rolledVal;
|
diceRolledValue = rolledVal;
|
||||||
diceText.text = $"{diceRolledValue}";
|
diceText.text = $"{diceRolledValue}";
|
||||||
availPlayers.Clear();
|
availPlayers.Clear();
|
||||||
|
|
||||||
if (rolledVal == Ludo_3D_Constants.Max_Dice_Rolls)
|
if (rolledVal == Ludo_3D_Constants.Max_Dice_Rolls)
|
||||||
{
|
{
|
||||||
canSwitchPlayer = false;
|
canSwitchPlayer = false;
|
||||||
@ -518,6 +521,16 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
.Where(pawn => pawn.GetPlayerState() == PlayerState.InSafeZone ||
|
.Where(pawn => pawn.GetPlayerState() == PlayerState.InSafeZone ||
|
||||||
pawn.GetPlayerState() == PlayerState.Moving ||
|
pawn.GetPlayerState() == PlayerState.Moving ||
|
||||||
pawn.GetPlayerState() == PlayerState.InFinishingPath).ToList();
|
pawn.GetPlayerState() == PlayerState.InFinishingPath).ToList();
|
||||||
|
|
||||||
|
Debug.Log($"#### UpdatePlayerState in InitActivePlayers ");
|
||||||
|
foreach (var pawn in playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Values)
|
||||||
|
{
|
||||||
|
Debug.Log($"pawn: {pawn.name}, state: {pawn.GetPlayerState()}");
|
||||||
|
}
|
||||||
|
foreach (var player in availPlayers) // TODO :: Move from here
|
||||||
|
{
|
||||||
|
DisplayPlayerCountOnTile(player, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool AreAllPawnsInFinishingPath()
|
private bool AreAllPawnsInFinishingPath()
|
||||||
@ -542,6 +555,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
|
|
||||||
private void UpdatePlayerState(PlayerPawn playerPawn, PlayerState playerState)
|
private void UpdatePlayerState(PlayerPawn playerPawn, PlayerState playerState)
|
||||||
{
|
{
|
||||||
|
Debug.Log($"#### UpdatePlayerState ");
|
||||||
playerGameDatasDict[playerPawn.PlayerType].playerPawnsDict[playerPawn.PlayerId] = playerPawn;
|
playerGameDatasDict[playerPawn.PlayerType].playerPawnsDict[playerPawn.PlayerId] = playerPawn;
|
||||||
playerGameDatasDict[playerPawn.PlayerType].playerPawnsDict[playerPawn.PlayerId].SetPlayerState(playerState);
|
playerGameDatasDict[playerPawn.PlayerType].playerPawnsDict[playerPawn.PlayerId].SetPlayerState(playerState);
|
||||||
playerPawn.SetPlayerState(playerState);
|
playerPawn.SetPlayerState(playerState);
|
||||||
@ -557,7 +571,8 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
|
|
||||||
private void HandleDiceRoll()
|
private void HandleDiceRoll()
|
||||||
{
|
{
|
||||||
diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal));
|
// diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal));
|
||||||
|
diceRollHandler.HandleDiceViewForBot((rollVal) => RollDiceForBot(rollVal), diceValue == 0 ? UnityEngine.Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1) : diceValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnPawnSelected(PlayerPawn playerPawn)
|
public void OnPawnSelected(PlayerPawn playerPawn)
|
||||||
@ -567,16 +582,19 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
PlayerGameData playerGameData = playerGameDatasDict[currentPlayerTypeTurn];
|
PlayerGameData playerGameData = playerGameDatasDict[currentPlayerTypeTurn];
|
||||||
Debug.Log($"playerPawn.GetPlayerState(): {playerPawn.GetPlayerState()}");
|
Debug.Log($"playerPawn.GetPlayerState(): {playerPawn.GetPlayerState()}");
|
||||||
|
|
||||||
|
|
||||||
if (playerPawn.GetPlayerState() == PlayerState.InHome)
|
if (playerPawn.GetPlayerState() == PlayerState.InHome)
|
||||||
{
|
{
|
||||||
Tile targetTile = tilesManager.RetrieveTileBasedOnIndex(playerGameData.startIndex);
|
Tile targetTile = tilesManager.RetrieveTileBasedOnIndex(playerGameData.startIndex);
|
||||||
|
|
||||||
|
DisplayPlayerCountOnTile(playerPawn, false);
|
||||||
playerPawn.MoveToTile(
|
playerPawn.MoveToTile(
|
||||||
GetAndInitPositionInsideSafeZone(playerPawn, targetTile),
|
GetAndInitPositionInsideSafeZone(playerPawn, targetTile),
|
||||||
onComplete: () =>
|
onComplete: () =>
|
||||||
{
|
{
|
||||||
playerGameDatasDict[playerGameData.playerType].totalPawnsInHome--;
|
playerGameDatasDict[playerGameData.playerType].totalPawnsInHome--;
|
||||||
UpdatePlayerState(playerPawn, PlayerState.InSafeZone);
|
UpdatePlayerState(playerPawn, PlayerState.InSafeZone);
|
||||||
|
DisplayPlayerCountOnTile(playerPawn, true);
|
||||||
if (CheckForMaxDiceRollAttempt())
|
if (CheckForMaxDiceRollAttempt())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -609,12 +627,19 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
|
|
||||||
if (nextTileIdx == 0)
|
if (nextTileIdx == 0)
|
||||||
targetIdx = (targetIdx - playerPawn.CurrentTileIndex) - 1;
|
targetIdx = (targetIdx - playerPawn.CurrentTileIndex) - 1;
|
||||||
|
|
||||||
Tile currentSittingTile = tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex);
|
Tile currentSittingTile = tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex);
|
||||||
if (currentSittingTile.IsSafeZone)
|
if (currentSittingTile.IsSafeZone)
|
||||||
{
|
{
|
||||||
SafeTile safeTile = (SafeTile)currentSittingTile;
|
SafeTile safeTile = (SafeTile)currentSittingTile;
|
||||||
safeTile.UpdateSafeZonePlayerData(currentPlayerTypeTurn, playerPawn);
|
safeTile.UpdateSafeZonePlayerData(currentPlayerTypeTurn, playerPawn);
|
||||||
|
// DisplayPlayerCountOnTile(playerPawn, false);
|
||||||
|
// if (safeTile.PlayerTypesCount > 0)
|
||||||
|
// {
|
||||||
|
// var pawns = safeTile.GetPlayerPawns(playerPawn.PlayerType);
|
||||||
|
// foreach (var pawn in pawns)
|
||||||
|
// DisplayPlayerCountOnTile(pawn, true);
|
||||||
|
// }
|
||||||
|
|
||||||
if (safeTile.PlayerTypesCount == 1)
|
if (safeTile.PlayerTypesCount == 1)
|
||||||
{
|
{
|
||||||
@ -658,12 +683,24 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
private void SwitchPlayer(PlayerPawn playerPawn = null)
|
private void SwitchPlayer(PlayerPawn playerPawn = null)
|
||||||
{
|
{
|
||||||
Debug.Log($"CallTest: SwitchPlayer");
|
Debug.Log($"CallTest: SwitchPlayer");
|
||||||
|
if (playerPawn)
|
||||||
|
UpdatePlayerState(playerPawn, tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex).IsSafeZone ? PlayerState.InSafeZone : PlayerState.Moving);
|
||||||
|
|
||||||
if (!CanRollDiceAgain)
|
if (!CanRollDiceAgain)
|
||||||
{
|
{
|
||||||
Debug.Log($"currentPlayerTurn: {currentPlayerTypeTurn}");
|
Debug.Log($"currentPlayerTurn: {currentPlayerTypeTurn}");
|
||||||
Debug.Log($"currentPlayerTurnIndex: {currentPlayerTurnIndex}");
|
Debug.Log($"currentPlayerTurnIndex: {currentPlayerTurnIndex}");
|
||||||
|
|
||||||
|
Debug.Log($"before SwitchPlayer availPlayers: {availPlayers.Count}, playerPawn: {playerPawn}");
|
||||||
|
if (availPlayers.Count < 1)
|
||||||
|
InitActivePlayers();
|
||||||
|
|
||||||
|
Debug.Log($"after SwitchPlayer availPlayers: {availPlayers.Count}, playerPawn: {playerPawn}");
|
||||||
|
foreach (var pawn in availPlayers)
|
||||||
|
{
|
||||||
|
DisplayPlayerCountOnTile(pawn, false);
|
||||||
|
}
|
||||||
|
|
||||||
if (allPlayerTypes.Count == 1)
|
if (allPlayerTypes.Count == 1)
|
||||||
{
|
{
|
||||||
Debug.LogError($"GAME IS OVER");
|
Debug.LogError($"GAME IS OVER");
|
||||||
@ -683,6 +720,12 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
|
|
||||||
diceSixRollCounter = 0;
|
diceSixRollCounter = 0;
|
||||||
diceText.text = $"{0}";
|
diceText.text = $"{0}";
|
||||||
|
|
||||||
|
InitActivePlayers();
|
||||||
|
foreach (var pawn in availPlayers)
|
||||||
|
{
|
||||||
|
DisplayPlayerCountOnTile(pawn, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetCanRollDiceForUser(!botTypesInGame.Contains(currentPlayerTypeTurn));
|
SetCanRollDiceForUser(!botTypesInGame.Contains(currentPlayerTypeTurn));
|
||||||
@ -693,9 +736,6 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
pointerMeshRend.material = turnMat;
|
pointerMeshRend.material = turnMat;
|
||||||
// pointerMeshRend.materials[0] = turnMat;
|
// pointerMeshRend.materials[0] = turnMat;
|
||||||
|
|
||||||
if (playerPawn)
|
|
||||||
UpdatePlayerState(playerPawn, tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex).IsSafeZone ? PlayerState.InSafeZone : PlayerState.Moving);
|
|
||||||
|
|
||||||
Debug.Log($"botTypesInGame.Contains(currentPlayerTypeTurn): {botTypesInGame.Contains(currentPlayerTypeTurn)}");
|
Debug.Log($"botTypesInGame.Contains(currentPlayerTypeTurn): {botTypesInGame.Contains(currentPlayerTypeTurn)}");
|
||||||
|
|
||||||
if (botTypesInGame.Contains(currentPlayerTypeTurn)) // TODO :: Double check calling of the function
|
if (botTypesInGame.Contains(currentPlayerTypeTurn)) // TODO :: Double check calling of the function
|
||||||
@ -722,6 +762,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
}
|
}
|
||||||
|
|
||||||
Debug.Log($"tile targetPosition: {targetPosition}");
|
Debug.Log($"tile targetPosition: {targetPosition}");
|
||||||
|
DisplayPlayerCountOnTile(playerPawn, false);
|
||||||
|
|
||||||
playerPawn.MoveToTile(
|
playerPawn.MoveToTile(
|
||||||
targetPosition,
|
targetPosition,
|
||||||
@ -750,8 +791,12 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// TODO :: Improve this logic, use a collection
|
// TODO :: Improve this logic, use a collection
|
||||||
Debug.Log($"nextTile.IsSafeZone: {nextTile.IsSafeZone}");
|
Debug.Log($"nextTile.IsSafeZone: {nextTile.IsSafeZone}");
|
||||||
|
|
||||||
|
if (CanRollDiceAgain)
|
||||||
|
DisplayPlayerCountOnTile(playerPawn, true);
|
||||||
|
|
||||||
if (!nextTile.IsSafeZone)
|
if (!nextTile.IsSafeZone)
|
||||||
{
|
{
|
||||||
Debug.Log($"nextTile.HasPawnsAvailable: {nextTile.HasPawnsAvailable}");
|
Debug.Log($"nextTile.HasPawnsAvailable: {nextTile.HasPawnsAvailable}");
|
||||||
@ -768,7 +813,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
var pawn = nextTile.GetPlayerPawn();
|
var pawn = nextTile.GetPlayerPawn();
|
||||||
Debug.Log($"pawn: {pawn}");
|
Debug.Log($"pawn: {pawn}");
|
||||||
Debug.Log($"playerBase: {playerBaseHandler}");
|
Debug.Log($"playerBase: {playerBaseHandler}");
|
||||||
|
|
||||||
var playerBasePos = playerBaseHandler.GetPlayerBase(pawn.PlayerType)
|
var playerBasePos = playerBaseHandler.GetPlayerBase(pawn.PlayerType)
|
||||||
.GetBasePlacementDataPosition(pawn.PlayerId - 1);
|
.GetBasePlacementDataPosition(pawn.PlayerId - 1);
|
||||||
Debug.Log($"playerBasePos: {playerBasePos}");
|
Debug.Log($"playerBasePos: {playerBasePos}");
|
||||||
@ -806,7 +851,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
|
|
||||||
SwitchPlayer(playerPawn);
|
SwitchPlayer(playerPawn);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
index);
|
index);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -845,7 +890,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
Debug.Log($"targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn): {targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn)}");
|
Debug.Log($"targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn): {targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn)}");
|
||||||
if (!targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn))
|
if (!targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn))
|
||||||
{
|
{
|
||||||
Debug.Log($"targetSafeTile.PlayerTypesCount: {targetSafeTile.PlayerTypesCount}");
|
Debug.Log($"targetSafeTile.PlayerTypesCount: {targetSafeTile.PlayerTypesCount}");
|
||||||
if (targetSafeTile.PlayerTypesCount < 1) // he is the only player that is being added to the safe zone
|
if (targetSafeTile.PlayerTypesCount < 1) // he is the only player that is being added to the safe zone
|
||||||
{
|
{
|
||||||
targetSafeTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn);
|
targetSafeTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn);
|
||||||
@ -870,6 +915,8 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
private void MoveThroughFinishingPath(PlayerPawn playerPawn, int index, int targetIndex)
|
private void MoveThroughFinishingPath(PlayerPawn playerPawn, int index, int targetIndex)
|
||||||
{
|
{
|
||||||
UpdatePlayerState(playerPawn, PlayerState.InFinishingPath);
|
UpdatePlayerState(playerPawn, PlayerState.InFinishingPath);
|
||||||
|
|
||||||
|
|
||||||
playerPawn.MoveToTile(
|
playerPawn.MoveToTile(
|
||||||
tilesManager.RetrievePositionForFinishingTile(currentPlayerTypeTurn, index).position,
|
tilesManager.RetrievePositionForFinishingTile(currentPlayerTypeTurn, index).position,
|
||||||
onComplete: () =>
|
onComplete: () =>
|
||||||
@ -889,6 +936,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
Debug.Log($"CurrentTileIndex: {playerPawn.CurrentTileIndex} == lastIndex: {tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1}");
|
Debug.Log($"CurrentTileIndex: {playerPawn.CurrentTileIndex} == lastIndex: {tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1}");
|
||||||
if (playerPawn.CurrentTileIndex == tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1)
|
if (playerPawn.CurrentTileIndex == tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1)
|
||||||
{
|
{
|
||||||
@ -926,12 +974,13 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
CanRollDiceAgain = true;
|
CanRollDiceAgain = true;
|
||||||
if (playerPawn.IsBotPlayer)
|
if (playerPawn.IsBotPlayer)
|
||||||
CheckDiceRollForBot(playerPawn);
|
CheckDiceRollForBot(playerPawn);
|
||||||
else
|
else
|
||||||
SetCanRollDiceForUser(true);
|
SetCanRollDiceForUser(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// activate here
|
||||||
if (CheckForMaxDiceRollAttempt())
|
if (CheckForMaxDiceRollAttempt())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -940,7 +989,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
SwitchPlayer();
|
SwitchPlayer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
index);
|
index);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -949,4 +998,26 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader
|
|||||||
CanRollDiceForUser = state;
|
CanRollDiceForUser = state;
|
||||||
Debug.Log($"CAnRollDiceForUser: {CanRollDiceForUser}");
|
Debug.Log($"CAnRollDiceForUser: {CanRollDiceForUser}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void DisplayPlayerCountOnTile(PlayerPawn playerPawn, bool show)
|
||||||
|
{
|
||||||
|
Tile tile = tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex);
|
||||||
|
Debug.Log($"Displaycount: {playerPawn.name} on tile: {tile.name}, show: {show}");
|
||||||
|
playerPawn.ShowPlayerCountCanvas(show);
|
||||||
|
if (!show) return;
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
|
if (tile.IsSafeZone)
|
||||||
|
{
|
||||||
|
count = (tile as SafeTile).GetPlayerPawnsCountInTile(playerPawn.PlayerType);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
count = tile.TotalPawnsInTile;
|
||||||
|
}
|
||||||
|
|
||||||
|
playerPawn.GetComponentInChildren<PlayerCountCanvas>().SetPlayerCount(count);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,6 +21,10 @@ public class PlayerPawn : MonoBehaviour
|
|||||||
{
|
{
|
||||||
[SerializeField] private PlayerState playerState;
|
[SerializeField] private PlayerState playerState;
|
||||||
[SerializeField] private Animator animator;
|
[SerializeField] private Animator animator;
|
||||||
|
[SerializeField] private GameObject playerCountCanvasPrefab;
|
||||||
|
[SerializeField] private PlayerCountCanvas playerCountCanvas;
|
||||||
|
|
||||||
|
public PlayerCountCanvas PlayerCountCanvas => playerCountCanvas;
|
||||||
|
|
||||||
public bool CanSelectPlayer
|
public bool CanSelectPlayer
|
||||||
{
|
{
|
||||||
@ -136,4 +140,11 @@ public class PlayerPawn : MonoBehaviour
|
|||||||
PlayerId = id;
|
PlayerId = id;
|
||||||
PlayerType = playerType;
|
PlayerType = playerType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ShowPlayerCountCanvas(bool show)
|
||||||
|
{
|
||||||
|
if (playerCountCanvasPrefab == null) return;
|
||||||
|
|
||||||
|
playerCountCanvasPrefab.SetActive(show);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,7 @@ public class DiceRollHandler : MonoBehaviour
|
|||||||
[SerializeField] private int diceTestValue = 0;
|
[SerializeField] private int diceTestValue = 0;
|
||||||
|
|
||||||
private InputManager inputManager;
|
private InputManager inputManager;
|
||||||
|
|
||||||
private void OnMouseDown()
|
private void OnMouseDown()
|
||||||
{
|
{
|
||||||
inputManager = inputManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<InputManager>() : inputManager;
|
inputManager = inputManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<InputManager>() : inputManager;
|
||||||
@ -24,9 +24,6 @@ public class DiceRollHandler : MonoBehaviour
|
|||||||
|
|
||||||
public void OnUserDiceRollComplete(int rolledVal)
|
public void OnUserDiceRollComplete(int rolledVal)
|
||||||
{
|
{
|
||||||
SoundManager soundManager = InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>();
|
|
||||||
soundManager?.PlayGameSoundClip(SoundType.Dice);
|
|
||||||
|
|
||||||
inputManager.SetDiceRollValue(rolledVal);
|
inputManager.SetDiceRollValue(rolledVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,11 +31,22 @@ public class DiceRollHandler : MonoBehaviour
|
|||||||
{
|
{
|
||||||
if (!inputManager.GameplayManager.CanRollDiceForUser) return;
|
if (!inputManager.GameplayManager.CanRollDiceForUser) return;
|
||||||
|
|
||||||
diceView.Roll(onComplete: (rolledVal) => OnUserDiceRollComplete(rolledVal), false);
|
SoundManager soundManager = InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>();
|
||||||
|
soundManager?.PlayGameSoundClip(SoundType.Dice);
|
||||||
|
|
||||||
|
OnUserDiceRollComplete(GetDiceTestVal());
|
||||||
|
// diceView.Roll(onComplete: (rolledVal) => OnUserDiceRollComplete(rolledVal), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleDiceViewForBot(Action<int> onComplete)
|
public void HandleDiceViewForBot(Action<int> onComplete)
|
||||||
{
|
{
|
||||||
diceView.Roll(onComplete: (val) => onComplete?.Invoke(val), true);
|
diceView.Roll(onComplete: (val) => onComplete?.Invoke(val), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void HandleDiceViewForBot(Action<int> onComplete, int val)
|
||||||
|
{
|
||||||
|
onComplete?.Invoke(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
private int GetDiceTestVal() => diceTestValue == 0 ? UnityEngine.Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1) : diceTestValue;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,25 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
public class PvAIModePopup : PopupBase
|
public class PvAIModePopup : PopupBase
|
||||||
{
|
{
|
||||||
[Header("Buttons")]
|
[SerializeField] private Color playerBtnNormalColor;
|
||||||
|
[SerializeField] private Color playerBtnSelectedColor;
|
||||||
|
|
||||||
|
[Header("Bot Selection Buttons")]
|
||||||
[SerializeField] private Button twoPlayerBtn;
|
[SerializeField] private Button twoPlayerBtn;
|
||||||
[SerializeField] private Button threePlayerBtn;
|
[SerializeField] private Button threePlayerBtn;
|
||||||
[SerializeField] private Button fourPlayerBtn;
|
[SerializeField] private Button fourPlayerBtn;
|
||||||
|
|
||||||
|
[Header("Color Selection Buttons")]
|
||||||
|
[SerializeField] private Button redBtn;
|
||||||
|
[SerializeField] private Button blueBtn;
|
||||||
|
[SerializeField] private Button greyBtn;
|
||||||
|
[SerializeField] private Button greenBtn;
|
||||||
|
|
||||||
|
[Header("Action Buttons")]
|
||||||
[SerializeField] private Button playBtn;
|
[SerializeField] private Button playBtn;
|
||||||
[SerializeField] private Button closeBtn;
|
[SerializeField] private Button closeBtn;
|
||||||
|
|
||||||
@ -25,13 +37,27 @@ public class PvAIModePopup : PopupBase
|
|||||||
private int selectedPlayerCount;
|
private int selectedPlayerCount;
|
||||||
private PlayerType playerType;
|
private PlayerType playerType;
|
||||||
|
|
||||||
|
private Button currPlayerCountBtn, prevPlayerCountBtn;
|
||||||
|
private Button currPlayerTypeBtn, prePlayerTypeBtn;
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
twoPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(2));
|
twoPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(2, twoPlayerBtn));
|
||||||
threePlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(3));
|
threePlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(3, threePlayerBtn));
|
||||||
fourPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(4));
|
fourPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(4, fourPlayerBtn));
|
||||||
|
|
||||||
playBtn.onClick.AddListener(OnClick_PlayButton);
|
playBtn.onClick.AddListener(OnClick_PlayButton);
|
||||||
closeBtn.onClick.AddListener(OnClick_CloseButton);
|
closeBtn.onClick.AddListener(OnClick_CloseButton);
|
||||||
|
|
||||||
|
redBtn.onClick.AddListener(() => OnColorSelected(PlayerType.Player1, redBtn));
|
||||||
|
blueBtn.onClick.AddListener(() => OnColorSelected(PlayerType.Player2, blueBtn));
|
||||||
|
greyBtn.onClick.AddListener(() => OnColorSelected(PlayerType.Player3, greyBtn));
|
||||||
|
greenBtn.onClick.AddListener(() => OnColorSelected(PlayerType.Player4, greenBtn));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
OnPlayerCountSelected(2, twoPlayerBtn);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDisable()
|
private void OnDisable()
|
||||||
@ -39,12 +65,29 @@ public class PvAIModePopup : PopupBase
|
|||||||
twoPlayerBtn.onClick.RemoveAllListeners();
|
twoPlayerBtn.onClick.RemoveAllListeners();
|
||||||
threePlayerBtn.onClick.RemoveAllListeners();
|
threePlayerBtn.onClick.RemoveAllListeners();
|
||||||
fourPlayerBtn.onClick.RemoveAllListeners();
|
fourPlayerBtn.onClick.RemoveAllListeners();
|
||||||
|
|
||||||
playBtn.onClick.RemoveAllListeners();
|
playBtn.onClick.RemoveAllListeners();
|
||||||
closeBtn.onClick.RemoveAllListeners();
|
closeBtn.onClick.RemoveAllListeners();
|
||||||
}
|
}
|
||||||
private void OnPlayerCountSelected(int count)
|
|
||||||
|
private void OnPlayerCountSelected(int count, Button button)
|
||||||
{
|
{
|
||||||
selectedPlayerCount = count;
|
selectedPlayerCount = count;
|
||||||
|
|
||||||
|
prevPlayerCountBtn = currPlayerCountBtn;
|
||||||
|
currPlayerCountBtn = button;
|
||||||
|
|
||||||
|
ColorBlock colorBlock;
|
||||||
|
if (prevPlayerCountBtn)
|
||||||
|
{
|
||||||
|
colorBlock = prevPlayerCountBtn.colors;
|
||||||
|
colorBlock.normalColor = playerBtnNormalColor;
|
||||||
|
prevPlayerCountBtn.colors = colorBlock;
|
||||||
|
}
|
||||||
|
|
||||||
|
colorBlock = currPlayerCountBtn.colors;
|
||||||
|
colorBlock.normalColor = playerBtnSelectedColor;
|
||||||
|
currPlayerCountBtn.colors = colorBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_PlayButton()
|
private void OnClick_PlayButton()
|
||||||
@ -59,10 +102,12 @@ public class PvAIModePopup : PopupBase
|
|||||||
Debug.Log($"Starting PVP Mode with {selectedPlayerCount} players:");
|
Debug.Log($"Starting PVP Mode with {selectedPlayerCount} players:");
|
||||||
Debug.Log($"Player 1: {playerName}");
|
Debug.Log($"Player 1: {playerName}");
|
||||||
|
|
||||||
|
popupManager.HidePopup(popupType);
|
||||||
|
|
||||||
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
|
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
|
||||||
gameModeHandler.InitBotModeData(playerType, selectedPlayerCount - 1);
|
gameModeHandler.InitBotModeData(playerType, selectedPlayerCount - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_CloseButton()
|
private void OnClick_CloseButton()
|
||||||
{
|
{
|
||||||
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
|
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
|
||||||
@ -72,4 +117,24 @@ public class PvAIModePopup : PopupBase
|
|||||||
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
|
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
|
||||||
Hide();
|
Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnColorSelected(PlayerType type, Button button)
|
||||||
|
{
|
||||||
|
playerType = type;
|
||||||
|
|
||||||
|
prePlayerTypeBtn = currPlayerTypeBtn;
|
||||||
|
currPlayerTypeBtn = button;
|
||||||
|
|
||||||
|
ColorBlock colorBlock;
|
||||||
|
if (prePlayerTypeBtn)
|
||||||
|
{
|
||||||
|
colorBlock = prePlayerTypeBtn.colors;
|
||||||
|
colorBlock.normalColor = playerBtnNormalColor;
|
||||||
|
prePlayerTypeBtn.colors = colorBlock;
|
||||||
|
}
|
||||||
|
|
||||||
|
colorBlock = currPlayerTypeBtn.colors;
|
||||||
|
colorBlock.normalColor = playerBtnSelectedColor;
|
||||||
|
currPlayerTypeBtn.colors = colorBlock;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
@ -19,12 +20,6 @@ public class PvPModePopup : PopupBase
|
|||||||
[SerializeField] private TMP_InputField playerThreeNameInput;
|
[SerializeField] private TMP_InputField playerThreeNameInput;
|
||||||
[SerializeField] private TMP_InputField playerFourNameInput;
|
[SerializeField] private TMP_InputField playerFourNameInput;
|
||||||
|
|
||||||
[Header("Player Names")]
|
|
||||||
private string playerOneName;
|
|
||||||
private string playerTwoName;
|
|
||||||
private string playerThreeName;
|
|
||||||
private string playerFourName;
|
|
||||||
|
|
||||||
[Header("References")]
|
[Header("References")]
|
||||||
[SerializeField] private GameObject playerNameInputParent1;
|
[SerializeField] private GameObject playerNameInputParent1;
|
||||||
[SerializeField] private GameObject playerNameInputParent2;
|
[SerializeField] private GameObject playerNameInputParent2;
|
||||||
@ -34,6 +29,13 @@ public class PvPModePopup : PopupBase
|
|||||||
[SerializeField] private TMP_Text playerTwoPlaceholder;
|
[SerializeField] private TMP_Text playerTwoPlaceholder;
|
||||||
[SerializeField] private TMP_Text playerThreePlaceholder;
|
[SerializeField] private TMP_Text playerThreePlaceholder;
|
||||||
[SerializeField] private TMP_Text playerFourPlaceholder;
|
[SerializeField] private TMP_Text playerFourPlaceholder;
|
||||||
|
[SerializeField] private List<TMP_InputField> inputFields = new List<TMP_InputField>();
|
||||||
|
|
||||||
|
[Header("Player Names")]
|
||||||
|
private string playerOneName;
|
||||||
|
private string playerTwoName;
|
||||||
|
private string playerThreeName;
|
||||||
|
private string playerFourName;
|
||||||
|
|
||||||
private ScreenManager screenManager;
|
private ScreenManager screenManager;
|
||||||
private SoundManager soundManager;
|
private SoundManager soundManager;
|
||||||
@ -43,19 +45,28 @@ public class PvPModePopup : PopupBase
|
|||||||
public int SelectedPlayerCount => selectedPlayerCount;
|
public int SelectedPlayerCount => selectedPlayerCount;
|
||||||
|
|
||||||
[Header("Horizontal Rows (P1–P4)")]
|
[Header("Horizontal Rows (P1–P4)")]
|
||||||
public List<GameObject> rows;
|
|
||||||
private int hiddenIndex = 0;
|
private int hiddenIndex = 0;
|
||||||
|
|
||||||
Dictionary<PlayerType, string> playerNameMap = new();
|
private List<int> hiddenIndexes = new List<int>();
|
||||||
|
private Dictionary<PlayerType, string> playerNameMap = new();
|
||||||
|
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
twoPlayerBtn.onClick.AddListener(OnClick_TwoPlayerBtn);
|
twoPlayerBtn.onClick.AddListener(OnClick_TwoPlayerBtn);
|
||||||
threePlayerBtn.onClick.AddListener(OnClick_ThreePlayerBtn);
|
threePlayerBtn.onClick.AddListener(OnClick_ThreePlayerBtn);
|
||||||
fourPlayerBtn.onClick.AddListener(OnClick_FourPlayerBtn);
|
fourPlayerBtn.onClick.AddListener(OnClick_FourPlayerBtn);
|
||||||
playBtn.onClick.AddListener(OnClick_PlayBtn);
|
|
||||||
closeBtn.onClick.AddListener(OnClick_CloseBtn);
|
playBtn.onClick.AddListener(OnClick_PlayButton);
|
||||||
switchBtn.onClick.AddListener(OnClick_SwitchBtn);
|
closeBtn.onClick.AddListener(OnClick_CloseButton);
|
||||||
|
|
||||||
|
switchBtn.onClick.AddListener(OnClick_SwitchButton);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
OnClick_FourPlayerBtn();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDisable()
|
private void OnDisable()
|
||||||
@ -63,33 +74,44 @@ public class PvPModePopup : PopupBase
|
|||||||
twoPlayerBtn.onClick.RemoveListener(OnClick_TwoPlayerBtn);
|
twoPlayerBtn.onClick.RemoveListener(OnClick_TwoPlayerBtn);
|
||||||
threePlayerBtn.onClick.RemoveListener(OnClick_ThreePlayerBtn);
|
threePlayerBtn.onClick.RemoveListener(OnClick_ThreePlayerBtn);
|
||||||
fourPlayerBtn.onClick.RemoveAllListeners();
|
fourPlayerBtn.onClick.RemoveAllListeners();
|
||||||
playBtn.onClick.RemoveListener(OnClick_PlayBtn);
|
|
||||||
closeBtn.onClick.RemoveListener(OnClick_CloseBtn);
|
playBtn.onClick.RemoveListener(OnClick_PlayButton);
|
||||||
switchBtn.onClick.RemoveListener(OnClick_SwitchBtn);
|
closeBtn.onClick.RemoveListener(OnClick_CloseButton);
|
||||||
|
|
||||||
|
switchBtn.onClick.RemoveListener(OnClick_SwitchButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_TwoPlayerBtn()
|
private void OnClick_TwoPlayerBtn()
|
||||||
{
|
{
|
||||||
switchBtn.gameObject.SetActive(true);
|
|
||||||
selectedPlayerCount = 2;
|
selectedPlayerCount = 2;
|
||||||
|
|
||||||
|
OnPlayerCountsSwitched();
|
||||||
|
|
||||||
|
switchBtn.gameObject.SetActive(true);
|
||||||
playerNameInputParent2.SetActive(false);
|
playerNameInputParent2.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_ThreePlayerBtn()
|
private void OnClick_ThreePlayerBtn()
|
||||||
{
|
{
|
||||||
switchBtn.gameObject.SetActive(true);
|
|
||||||
selectedPlayerCount = 3;
|
selectedPlayerCount = 3;
|
||||||
|
|
||||||
|
OnPlayerCountsSwitched();
|
||||||
|
|
||||||
|
switchBtn.gameObject.SetActive(true);
|
||||||
playerNameInputParent1.SetActive(true);
|
playerNameInputParent1.SetActive(true);
|
||||||
playerNameInputParent2.SetActive(true);
|
playerNameInputParent2.SetActive(true);
|
||||||
|
|
||||||
UpdateInputFieldsVisibility();
|
UpdateInputFieldsVisibility();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_FourPlayerBtn()
|
private void OnClick_FourPlayerBtn()
|
||||||
{
|
{
|
||||||
switchBtn.gameObject.SetActive(false);
|
|
||||||
selectedPlayerCount = 4;
|
selectedPlayerCount = 4;
|
||||||
|
|
||||||
|
switchBtn.gameObject.SetActive(false);
|
||||||
playerNameInputParent1.SetActive(true);
|
playerNameInputParent1.SetActive(true);
|
||||||
playerNameInputParent2.SetActive(true);
|
playerNameInputParent2.SetActive(true);
|
||||||
|
|
||||||
UpdateInputFieldsVisibility();
|
UpdateInputFieldsVisibility();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,84 +123,51 @@ public class PvPModePopup : PopupBase
|
|||||||
playerFourNameInput.transform.parent.gameObject.SetActive(selectedPlayerCount >= 4);
|
playerFourNameInput.transform.parent.gameObject.SetActive(selectedPlayerCount >= 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_PlayBtn()
|
private void OnClick_PlayButton()
|
||||||
{
|
{
|
||||||
int logicalIndex = 0;
|
playerNameMap.Clear();
|
||||||
|
for (int idx = 0; idx < inputFields.Count; idx++)
|
||||||
foreach (GameObject row in rows)
|
|
||||||
{
|
{
|
||||||
if (!row.activeSelf)
|
PlayerType playerType = (PlayerType)idx;
|
||||||
|
if (!inputFields[idx].transform.parent.gameObject.activeInHierarchy)
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
TMP_InputField input = row.GetComponentInChildren<TMP_InputField>();
|
playerNameMap.Add(playerType, string.IsNullOrWhiteSpace(inputFields[idx].text) ? $"{playerType}" : inputFields[idx].text);
|
||||||
|
|
||||||
PlayerType playerType = (PlayerType)logicalIndex;
|
|
||||||
|
|
||||||
string playerName = string.IsNullOrWhiteSpace(input.text)
|
|
||||||
? playerType.ToString()
|
|
||||||
: input.text;
|
|
||||||
|
|
||||||
playerNameMap[playerType] = playerName;
|
|
||||||
logicalIndex++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// playerOneName = string.IsNullOrWhiteSpace(playerOneNameInput.text) ? Ludo_3D_Constants.Player1_Name : playerOneNameInput.text;
|
|
||||||
// playerTwoName = string.IsNullOrWhiteSpace(playerTwoNameInput.text) ? Ludo_3D_Constants.Player1_Name : playerTwoNameInput.text;
|
|
||||||
// playerThreeName = string.IsNullOrWhiteSpace(playerThreeNameInput.text) ? Ludo_3D_Constants.Player1_Name : playerThreeNameInput.text;
|
|
||||||
// playerFourName = string.IsNullOrWhiteSpace(playerFourNameInput.text) ? Ludo_3D_Constants.Player1_Name : playerFourNameInput.text;
|
|
||||||
|
|
||||||
playerOneName = playerNameMap.GetValueOrDefault(PlayerType.Player1, Ludo_3D_Constants.Player1_Name);
|
playerOneName = playerNameMap.GetValueOrDefault(PlayerType.Player1, Ludo_3D_Constants.Player1_Name);
|
||||||
playerTwoName = playerNameMap.GetValueOrDefault(PlayerType.Player2, Ludo_3D_Constants.Player2_Name);
|
playerTwoName = playerNameMap.GetValueOrDefault(PlayerType.Player2, Ludo_3D_Constants.Player2_Name);
|
||||||
playerThreeName = playerNameMap.GetValueOrDefault(PlayerType.Player3, Ludo_3D_Constants.Player3_Name);
|
playerThreeName = playerNameMap.GetValueOrDefault(PlayerType.Player3, Ludo_3D_Constants.Player3_Name);
|
||||||
playerFourName = playerNameMap.GetValueOrDefault(PlayerType.Player4, Ludo_3D_Constants.Player4_Name);
|
playerFourName = playerNameMap.GetValueOrDefault(PlayerType.Player4, Ludo_3D_Constants.Player4_Name);
|
||||||
|
|
||||||
|
|
||||||
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
|
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
|
||||||
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
|
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
|
||||||
|
|
||||||
//TODO: Start PVP Game with the selected player count and names
|
|
||||||
Debug.Log($"Starting PVP Mode with {selectedPlayerCount} players:");
|
Debug.Log($"Starting PVP Mode with {selectedPlayerCount} players:");
|
||||||
Debug.Log($"Player 1: {playerOneName}");
|
|
||||||
Debug.Log($"Player 2: {playerTwoName}");
|
|
||||||
|
|
||||||
if (selectedPlayerCount >= 3)
|
popupManager.HidePopup(popupType);
|
||||||
Debug.Log($"Player 3: {playerThreeName}");
|
|
||||||
if (selectedPlayerCount == 4)
|
|
||||||
Debug.Log($"Player 4: {playerFourName}");
|
|
||||||
|
|
||||||
InitPlayers();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InitPlayers()
|
|
||||||
{
|
|
||||||
// update logic based on UpdateInputFieldsVisibility()
|
|
||||||
List<PlayerType> playerTypes = new List<PlayerType>();
|
|
||||||
if (playerOneNameInput.gameObject.activeInHierarchy)
|
|
||||||
playerTypes.Add(PlayerType.Player1);
|
|
||||||
|
|
||||||
if (playerTwoNameInput.gameObject.activeInHierarchy)
|
|
||||||
playerTypes.Add(PlayerType.Player2);
|
|
||||||
|
|
||||||
if (playerThreeNameInput.gameObject.activeInHierarchy)
|
|
||||||
playerTypes.Add(PlayerType.Player3);
|
|
||||||
|
|
||||||
if (playerFourNameInput.gameObject.activeInHierarchy)
|
|
||||||
playerTypes.Add(PlayerType.Player4);
|
|
||||||
|
|
||||||
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
|
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
|
||||||
gameModeHandler.InitPVPModeData(playerTypes);
|
gameModeHandler.InitPVPModeData(playerNameMap.Keys.ToList());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_SwitchBtn()
|
private void OnClick_SwitchButton()
|
||||||
{
|
{
|
||||||
|
hiddenIndexes.Clear();
|
||||||
if (SelectedPlayerCount == 2)
|
if (SelectedPlayerCount == 2)
|
||||||
{
|
{
|
||||||
if (playerNameInputParent1.activeSelf)
|
if (playerNameInputParent1.activeInHierarchy)
|
||||||
{
|
{
|
||||||
playerNameInputParent1.SetActive(false);
|
playerNameInputParent1.SetActive(false);
|
||||||
playerNameInputParent2.SetActive(true);
|
playerNameInputParent2.SetActive(true);
|
||||||
|
|
||||||
playerOnePlaceholder.text = "Player 1";
|
playerOnePlaceholder.text = "Player 1";
|
||||||
playerThreePlaceholder.text = "Player 2";
|
playerThreePlaceholder.text = "Player 2";
|
||||||
|
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player1);
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player3);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -186,30 +175,63 @@ public class PvPModePopup : PopupBase
|
|||||||
playerNameInputParent2.SetActive(false);
|
playerNameInputParent2.SetActive(false);
|
||||||
playerTwoPlaceholder.text = "Player 1";
|
playerTwoPlaceholder.text = "Player 1";
|
||||||
playerFourPlaceholder.text = "Player 2";
|
playerFourPlaceholder.text = "Player 2";
|
||||||
|
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player2);
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (SelectedPlayerCount == 3)
|
else if (SelectedPlayerCount == 3)
|
||||||
{
|
{
|
||||||
hiddenIndex = (hiddenIndex + 1) % rows.Count;
|
hiddenIndex = (hiddenIndex + 1) % inputFields.Count;
|
||||||
UpdateRows();
|
hiddenIndexes.Add(hiddenIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UpdateRows();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnPlayerCountsSwitched()
|
||||||
|
{
|
||||||
|
hiddenIndexes.Clear();
|
||||||
|
if (SelectedPlayerCount == 2)
|
||||||
|
{
|
||||||
|
if (playerNameInputParent1.activeInHierarchy)
|
||||||
|
{
|
||||||
|
playerOnePlaceholder.text = "Player 1";
|
||||||
|
playerThreePlaceholder.text = "Player 2";
|
||||||
|
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player2);
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player4);
|
||||||
|
}
|
||||||
|
else if (playerNameInputParent2.activeInHierarchy)
|
||||||
|
{
|
||||||
|
playerTwoPlaceholder.text = "Player 1";
|
||||||
|
playerFourPlaceholder.text = "Player 2";
|
||||||
|
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player1);
|
||||||
|
hiddenIndexes.Add((int)PlayerType.Player3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (SelectedPlayerCount == 3)
|
||||||
|
{
|
||||||
|
hiddenIndex = (hiddenIndex + 1) % inputFields.Count;
|
||||||
|
hiddenIndexes.Add(hiddenIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateRows();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateRows()
|
private void UpdateRows()
|
||||||
{
|
{
|
||||||
int visiblePlayerIndex = 1;
|
int visiblePlayerIndex = 1;
|
||||||
|
|
||||||
for (int i = 0; i < rows.Count; i++)
|
for (int i = 0; i < inputFields.Count; i++)
|
||||||
{
|
{
|
||||||
bool isHidden = (i == hiddenIndex);
|
bool isHidden = hiddenIndexes.Contains(i);
|
||||||
rows[i].SetActive(!isHidden);
|
inputFields[i].transform.parent.gameObject.SetActive(!isHidden);
|
||||||
|
|
||||||
if (!isHidden)
|
if (!isHidden)
|
||||||
{
|
{
|
||||||
TMP_InputField input =
|
TMP_Text placeholder = inputFields[i].placeholder as TMP_Text;
|
||||||
rows[i].GetComponentInChildren<TMP_InputField>();
|
|
||||||
|
|
||||||
TMP_Text placeholder = input.placeholder as TMP_Text;
|
|
||||||
if (placeholder != null)
|
if (placeholder != null)
|
||||||
{
|
{
|
||||||
placeholder.text = $"Player {visiblePlayerIndex}";
|
placeholder.text = $"Player {visiblePlayerIndex}";
|
||||||
@ -219,7 +241,7 @@ public class PvPModePopup : PopupBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick_CloseBtn()
|
private void OnClick_CloseButton()
|
||||||
{
|
{
|
||||||
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
|
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
|
||||||
screenManager.ShowScreen(ScreenType.MenuScreen);
|
screenManager.ShowScreen(ScreenType.MenuScreen);
|
||||||
|
|||||||
8
Assets/Scripts/UI/Player Count.meta
Normal file
8
Assets/Scripts/UI/Player Count.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cbe9ff41df8934561963daf6b67cd147
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
21
Assets/Scripts/UI/Player Count/PlayerCountCanvas.cs
Normal file
21
Assets/Scripts/UI/Player Count/PlayerCountCanvas.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class PlayerCountCanvas : MonoBehaviour
|
||||||
|
{
|
||||||
|
Transform cam;
|
||||||
|
[SerializeField] private TMP_Text playerCountText;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
cam = GameObject.FindGameObjectWithTag("MainCamera").transform;
|
||||||
|
}
|
||||||
|
void LateUpdate()
|
||||||
|
{
|
||||||
|
transform.LookAt(cam.forward + transform.position);
|
||||||
|
}
|
||||||
|
public void SetPlayerCount(int count)
|
||||||
|
{
|
||||||
|
playerCountText.text = count.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/UI/Player Count/PlayerCountCanvas.cs.meta
Normal file
11
Assets/Scripts/UI/Player Count/PlayerCountCanvas.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 12325a6692b2349b5992ec00a2cf8162
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Loading…
x
Reference in New Issue
Block a user