This commit is contained in:
OliverS 2024-04-21 01:54:15 +02:00
commit b3b9684d93
21 changed files with 2331 additions and 837 deletions

View File

@ -8,8 +8,8 @@ AnimatorStateTransition:
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Close
- m_ConditionMode: 2
m_ConditionEvent: IsOpen
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2682460963827588746}
@ -25,58 +25,6 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-7641027645006483654
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Open
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -2280432560819215181}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-2280432560819215181
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: FullOut
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 8958318208459601179}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: a9f8f24edd1852c4e829d921b091c37d, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-2135777584370832094
AnimatorState:
serializedVersion: 6
@ -88,7 +36,6 @@ AnimatorState:
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -7641027645006483654}
- {fileID: -8896916857368744256}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
@ -120,9 +67,6 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: -2135777584370832094}
m_Position: {x: 240, y: 30, z: 0}
- serializedVersion: 1
m_State: {fileID: -2280432560819215181}
m_Position: {x: 490, y: 30, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@ -142,14 +86,8 @@ AnimatorController:
m_Name: cocksex
serializedVersion: 5
m_AnimatorParameters:
- m_Name: Open
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: Close
m_Type: 9
- m_Name: IsOpen
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
@ -203,7 +141,7 @@ AnimatorStateTransition:
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Open
m_ConditionEvent: IsOpen
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -2135777584370832094}
@ -219,28 +157,3 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &8958318208459601179
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Close
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2682460963827588746}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.2
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1

File diff suppressed because it is too large Load Diff

View File

@ -123,6 +123,110 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &66896262
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 968288136}
m_Modifications:
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.x
value: -6.25
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.y
value: 9
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.z
value: 7.475
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.x
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -90
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: Gap
value: 0.1
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: Gap.x
value: 0.1
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: Gap.y
value: 0.2
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: gridType
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: GridSize.x
value: 7
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: GridSize.y
value: 10
objectReference: {fileID: 0}
- target: {fileID: 4738812082694162819, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_Name
value: GridSpawnerWall-z
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0c13e24f92c86f84a85c76e0bca22830, type: 3}
--- !u!4 &66896263 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
m_PrefabInstance: {fileID: 66896262}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &203396308
PrefabInstance:
m_ObjectHideFlags: 0
@ -976,7 +1080,7 @@ PrefabInstance:
- target: {fileID: 3313768392743891090, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
propertyPath: sphereRange
value: 1.5
value: 2.5
objectReference: {fileID: 0}
- target: {fileID: 3313768392743891090, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
@ -1011,7 +1115,7 @@ PrefabInstance:
- target: {fileID: 5664717836218291588, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
propertyPath: m_Orbits.Array.data[2].m_Height
value: -5
value: -10
objectReference: {fileID: 0}
- target: {fileID: 5753661378891917460, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
@ -1147,7 +1251,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: acef1d7c80f784543acd3e1571e99495, type: 3}
m_Name:
m_EditorClassIdentifier:
RebuildGrid: 1
RebuildGrid: 0
DebugTowerPrefab: {fileID: 8488737342646939416, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
SilhouetteMaterial: {fileID: 2100000, guid: 0610eb89b05f0b546929db3664a351d8, type: 2}
@ -1168,6 +1272,8 @@ Transform:
- {fileID: 1554436712}
- {fileID: 2098922851}
- {fileID: 359510069}
- {fileID: 1016399494}
- {fileID: 66896263}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1001440767
@ -1238,6 +1344,110 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 9d875dda41d470948bbe6fd408a7e835, type: 3}
--- !u!1001 &1016399493
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 968288136}
m_Modifications:
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.x
value: -6.25
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.y
value: 9
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.z
value: -7.475
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.70710677
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.x
value: 0.70710677
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 90
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 90
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: Gap
value: 0.1
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: Gap.x
value: 0.2
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: Gap.y
value: 0.1
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: gridType
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: GridSize.x
value: 10
objectReference: {fileID: 0}
- target: {fileID: 3798840069121289071, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: GridSize.y
value: 7
objectReference: {fileID: 0}
- target: {fileID: 4738812082694162819, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_Name
value: GridSpawnerWall+z
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0c13e24f92c86f84a85c76e0bca22830, type: 3}
--- !u!4 &1016399494 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
m_PrefabInstance: {fileID: 1016399493}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1515922344
GameObject:
m_ObjectHideFlags: 0
@ -1632,12 +1842,12 @@ PrefabInstance:
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.y
value: 9.7
value: 9
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}
propertyPath: m_LocalPosition.z
value: -7.3
value: -6.25
objectReference: {fileID: 0}
- target: {fileID: 2739991145043243501, guid: 0c13e24f92c86f84a85c76e0bca22830,
type: 3}

File diff suppressed because it is too large Load Diff

View File

@ -576,11 +576,86 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4140468893953896691, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4847760131872950732, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.y
value: 2.5
objectReference: {fileID: 0}
- target: {fileID: 4847760131872950732, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.z
value: -3
objectReference: {fileID: 0}
- target: {fileID: 4847760131872950732, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.000000016282542
objectReference: {fileID: 0}
- target: {fileID: 4847760131872950732, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.z
value: 0.0000000055622356
objectReference: {fileID: 0}
- target: {fileID: 6128688024210661095, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.y
value: 2.5
objectReference: {fileID: 0}
- target: {fileID: 6128688024210661095, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.z
value: 3
objectReference: {fileID: 0}
- target: {fileID: 6128688024210661095, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.w
value: -3e-45
objectReference: {fileID: 0}
- target: {fileID: 6128688024210661095, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.x
value: -1e-45
objectReference: {fileID: 0}
- target: {fileID: 6128688024210661095, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.9402716
objectReference: {fileID: 0}
- target: {fileID: 6128688024210661095, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.34042525
objectReference: {fileID: 0}
- target: {fileID: 8488737342646939416, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_Name
value: Turret
objectReference: {fileID: 0}
- target: {fileID: 8717774532810144392, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.y
value: 2.5
objectReference: {fileID: 0}
- target: {fileID: 8717774532810144392, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.z
value: -3
objectReference: {fileID: 0}
- target: {fileID: 8717774532810144392, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.000000023165901
objectReference: {fileID: 0}
- target: {fileID: 8717774532810144392, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.0000000074471513
objectReference: {fileID: 0}
- target: {fileID: 9116936080776508834, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.x
@ -589,7 +664,7 @@ PrefabInstance:
- target: {fileID: 9116936080776508834, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.84
value: 0.839
objectReference: {fileID: 0}
- target: {fileID: 9116936080776508834, guid: 9415cb10a1bd579269301ca4f61a1554,
type: 3}
@ -631,7 +706,8 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedComponents:
- {fileID: 745531677110546750, guid: 9415cb10a1bd579269301ca4f61a1554, type: 3}
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
@ -896,6 +972,74 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1519212182
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1519212185}
- component: {fileID: 1519212184}
- component: {fileID: 1519212183}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1519212183
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1519212182}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &1519212184
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1519212182}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &1519212185
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1519212182}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1621186629
GameObject:
m_ObjectHideFlags: 0
@ -1069,6 +1213,11 @@ PrefabInstance:
propertyPath: m_LocalRotation.z
value: -0.10982757
objectReference: {fileID: 0}
- target: {fileID: 3255403189825384754, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
propertyPath: field of view
value: 60
objectReference: {fileID: 0}
- target: {fileID: 3665490202611795451, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
propertyPath: m_LocalPosition.x
@ -1147,7 +1296,7 @@ PrefabInstance:
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
propertyPath: m_LocalRotation.w
value: -0.13805284
value: -0.1380528
objectReference: {fileID: 0}
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
@ -1162,7 +1311,7 @@ PrefabInstance:
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.13815573
value: -0.13815574
objectReference: {fileID: 0}
- target: {fileID: 8882344377078016156, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
type: 3}
@ -1444,3 +1593,4 @@ SceneRoots:
- {fileID: 1732242001}
- {fileID: 504816165}
- {fileID: 1395991987}
- {fileID: 1519212185}

View File

@ -0,0 +1,10 @@
using System.Collections;
using System.Collections.Generic;
using System.IO.Enumeration;
using UnityEngine;
[CreateAssetMenu(fileName = "New AudioLibrary", menuName = "ZUtility/AudioLibrary")]
public class AudioLibraryObject : ScriptableObject
{
public AudioClip[] Clips;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3bbffcd63584e8040b9a8db3b8d51737
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,137 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.VisualScripting;
using UnityEngine;
public class AudioManager : MonoBehaviour
{
public static AudioManager Instance;
public AudioLibraryObject audioLibrary;
private void OnEnable()
{
if (Instance is null)
{
Instance = this;
// TODO: manager itself should not handle this
// DontDestroyOnLoad(this);
}
else
{
Destroy(Instance);
Instance = this;
}
}
private void OnDisable()
{
Instance = null;
}
public static AudioClip FindAudioClip(string nameOfClip)
{
return Instance.audioLibrary.Clips.First(x => x.name == nameOfClip);
}
public static AudioSource PlaySound(AudioClip clip, Vector3 sourcePos, bool manuallyHandle = false, bool is3D = true, bool loop = false, bool fadeIn = false)
{
return PlaySoundInternal(clip, sourcePos, manuallyHandle, is3D, loop, fadeIn);
}
public static AudioSource PlaySound(string nameOfClip, Vector3 sourcePos, bool manuallyHandle = false, bool is3D = true, bool loop = false, bool fadeIn = false)
{
AudioClip clip = FindAudioClip(nameOfClip);
return PlaySoundInternal(clip, sourcePos, manuallyHandle, is3D, loop, fadeIn);
}
private static AudioSource PlaySoundInternal(AudioClip clip, Vector3 sourcePos, bool manuallyHandle, bool is3D, bool loop, bool fadeIn)
{
if (Instance == null)
{
Debug.LogWarning("AudioManager has not been initialized. Please initialize it before use.");
return null;
}
var sourceObject = new GameObject("SoundSource");
var audioSource = sourceObject.AddComponent<AudioSource>();
audioSource.loop = loop;
audioSource.clip = clip;
sourceObject.transform.position = sourcePos;
sourceObject.transform.parent = Instance.transform;
if (is3D)
{
audioSource.rolloffMode = AudioRolloffMode.Linear;
audioSource.spatialBlend = 1f;
}
if (!manuallyHandle)
Instance.StartCoroutine(Instance.StartSound(audioSource, fadeIn));
return audioSource;
}
public static List<SoundSource> AliveSources = new List<SoundSource>();
IEnumerator StartSound(AudioSource audioSource, bool fadeIn = false)
{
AliveSources.Add(new SoundSource(audioSource));
if (fadeIn)
{
audioSource.volume = 0;
StartCoroutine(StartMusicFadeIn(audioSource));
}
audioSource.Play();
yield return new WaitUntil(() => audioSource.gameObject == null || !audioSource.isPlaying);
try
{
Destroy(audioSource.gameObject);
}
catch (SystemException err)
{
}
}
public IEnumerator StartMusicFadeIn(AudioSource AS)
{
while (true)
{
if (AS.volume >= 1)
{
break;
}
AS.volume += 0.01f;
yield return new WaitForSecondsRealtime(0.05f);
}
}
public void StopAllAudio()
{
StopAllCoroutines();
foreach (SoundSource item in AliveSources)
{
if (item == null || item.source == null) continue;
item.source.Stop();
Destroy(item.source.gameObject);
}
AliveSources.Clear();
}
}
public class SoundSource
{
public string Id { get; set; }
public AudioSource source { get; set; }
public SoundSource(AudioSource originalSource)
{
source = originalSource;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 36c44df45a33eca4285d258763a7b018
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,3 +1,4 @@
using System;
using UnityEngine;
public class GameManager : MonoBehaviour
@ -8,8 +9,6 @@ public class GameManager : MonoBehaviour
public bool IsBuildMode = false;
private Tower selectedTower;
public TowerInfo ShopSelectedTower;
public Tower SelectedTower { get { return selectedTower; } set {
if (selectedTower != null)
selectedTower.TowerSelected(false);
@ -25,4 +24,26 @@ public class GameManager : MonoBehaviour
Destroy(Instance);
Instance = this;
}
private void OnEnable()
{
MoneyManager.OnShopSelected += m_OnTowerShopSelected;
TowerPlacementManager.OnTowerPlaced += m_finishBuildmode;
}
private void OnDisable()
{
MoneyManager.OnShopSelected -= m_OnTowerShopSelected;
TowerPlacementManager.OnTowerPlaced -= m_finishBuildmode;
}
private void m_OnTowerShopSelected(TowerInfo info)
{
IsBuildMode = true;
}
private void m_finishBuildmode(TowerInfo info)
{
IsBuildMode = false;
}
}

View File

@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
@ -11,6 +12,11 @@ public class MoneyManager : MonoBehaviour
public GameObject[] ShopButtons;
public TMP_Text[] MoneyTexts;
/// <summary>
/// Invoked when player selects tower from shop
/// </summary>
public static event Action<TowerInfo> OnShopSelected;
private void OnEnable()
{
for (int i = 0; i < ShopButtons.Length; i++)
@ -35,7 +41,6 @@ public class MoneyManager : MonoBehaviour
{
Assert.AreNotEqual(index, -1, "Shop button not init-ed with index");
GameManager.Instance.ShopSelectedTower = towerCollection.Towers[index];
GameManager.Instance.IsBuildMode = true;
OnShopSelected?.Invoke(towerCollection.Towers[index]);
}
}

View File

@ -1,5 +1,4 @@
using System.Collections;
using System.Collections.Generic;
using Cinemachine;
using UnityEngine;
public class CameraSlotClickDetect : MonoBehaviour
@ -32,6 +31,8 @@ public class CameraSlotClickDetect : MonoBehaviour
if (tower != null)
{
GameManager.Instance.SelectedTower = tower;
}
}
else if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask))

View File

@ -8,26 +8,28 @@ using UnityEngine;
public class TowerPlacementManager : MonoBehaviour
{
/// <summary>
/// Sender
/// </summary>
public static TowerPlacementManager Instance;
// Spawning grid events
public static event Action<TowerPlacementManager> OnSpawnGridRequested;
public static event Action<TowerPlacementManager> OnGridDeleteRequested;
public static TowerPlacementManager Instance;
// Placing tower
public static event Action<TowerInfo> OnTowerPlaced;
[Header("Debug")]
[SerializeField] private bool RebuildGrid = false;
// Section: Mouse
private SlotManager CurrentSelectedSlot;
private SlotManager CurrentHovered; // Not implemented
private int CurrentRotation = 0; // 0, 1, 2, 3
private GameObject SilhouettedObject;
private TowerInfo SelectedTowerInfo;
// Section: Debug
public GameObject DebugTowerPrefab;
private GameObject SelectedTowerPrefab => SelectedTowerInfo.prefab;
private void Start()
{
@ -59,12 +61,27 @@ public class TowerPlacementManager : MonoBehaviour
}
}
private void OnEnable()
{
MoneyManager.OnShopSelected += OnShopSelected;
}
private void OnDisable()
{
MoneyManager.OnShopSelected -= OnShopSelected;
}
private void OnShopSelected(TowerInfo info)
{
SelectedTowerInfo = info;
}
public void OnSlotClicked(SlotManager slot, GridManager grid, int x, int y)
{
slot.gameObject.GetComponentInChildren<Renderer>().material.color = Color.blue;
OnSelectSlot(slot);
SpawnTowerAtSelected(DebugTowerPrefab);
SpawnTowerAtSelected(SelectedTowerPrefab);
}
// Called when a slot is selected
@ -94,13 +111,13 @@ public class TowerPlacementManager : MonoBehaviour
public void OnSlotHovered(SlotManager slot, GridManager grid, int x, int y)
{
if (SilhouettedObject == null)
SilhouettedObject = ToSilhouette(DebugTowerPrefab);
SilhouettedObject = ToSilhouette(SelectedTowerPrefab);
// Sets tower rotation
Quaternion newRotation = Quaternion.AngleAxis(CurrentRotation * 90f, transform.up);
SilhouettedObject.transform.localRotation = newRotation;
Vector3 offset = DebugTowerPrefab.transform.position;
Vector3 offset = SelectedTowerPrefab.transform.position;
//SilhouettedObject.SetActive(true);
SilhouettedObject.transform.parent = slot.TowerSpawnPoint.transform;

View File

@ -11,6 +11,8 @@ public abstract class Tower : MonoBehaviour
protected HealthComponent healthComp;
protected Outline outline;
protected Camera mainCam;
// Getters
public virtual void TowerSelected(bool selected)
{
@ -26,6 +28,8 @@ public abstract class Tower : MonoBehaviour
outline = GetComponent<Outline>();
Assert.IsNotNull(healthComp);
Assert.IsNotNull(outline);
mainCam = Camera.main;
}
protected virtual void Start()
@ -38,6 +42,7 @@ public abstract class Tower : MonoBehaviour
protected virtual void Update()
{
selectedUI.transform.LookAt(mainCam.transform.position);
}
protected virtual void FixedUpdate()

View File

@ -1,53 +1,72 @@
using System;
using UnityEditor.PackageManager;
using UnityEngine;
using UnityEngine.EventSystems;
public class UIManager : MonoBehaviour
{
public Animator anim;
public string animationCall;
[SerializeField] private Animator anim;
[SerializeField] private EventTrigger OpenerTrigger;
[SerializeField] private EventTrigger CloseTrigger;
public GameObject activateGo;
public bool deactivateSelf;
private bool OpenerIsHovered = false;
private bool CloseIsHovered = false;
public UIManager affectedObj;
private bool CurrentShopState = false;
public bool count;
public int maxCount = 1;
public int currentCount = 0;
private void Awake()
private void OnEnable()
{
if(count)
currentCount = 0;
// Subscribe to PointerEnter event
EventTrigger.Entry pointerOpenerEnter = new EventTrigger.Entry();
pointerOpenerEnter.eventID = EventTriggerType.PointerEnter;
pointerOpenerEnter.callback.AddListener((data) => { OnOpenerEnter((PointerEventData)data); });
OpenerTrigger.triggers.Add(pointerOpenerEnter);
// Subscribe to PointerExit event
EventTrigger.Entry pointerOpenerExit = new EventTrigger.Entry();
pointerOpenerExit.eventID = EventTriggerType.PointerExit;
pointerOpenerExit.callback.AddListener((data) => { OnOpenerExit((PointerEventData)data); });
OpenerTrigger.triggers.Add(pointerOpenerExit);
// Subscribe to PointerEnter event
EventTrigger.Entry pointerCloseTriggerEnter = new EventTrigger.Entry();
pointerCloseTriggerEnter.eventID = EventTriggerType.PointerEnter;
pointerCloseTriggerEnter.callback.AddListener((data) => { OnCloseTriggerEnter((PointerEventData)data); });
CloseTrigger.triggers.Add(pointerCloseTriggerEnter);
// Subscribe to PointerExit event
EventTrigger.Entry pointerCloseTriggerExit = new EventTrigger.Entry();
pointerCloseTriggerExit.eventID = EventTriggerType.PointerExit;
pointerCloseTriggerExit.callback.AddListener((data) => { OnCloseTriggerExit((PointerEventData)data); });
CloseTrigger.triggers.Add(pointerCloseTriggerExit);
}
public void OnMouseEnter()
private void OnCloseTriggerEnter(PointerEventData data)
{
anim.SetTrigger(animationCall);
CloseIsHovered = true;
UpdateShopState();
}
if (activateGo != null)
activateGo.SetActive(true);
if (deactivateSelf)
private void OnCloseTriggerExit(PointerEventData data)
{
gameObject.SetActive(false);
if (count)
ResetCount();
CloseIsHovered = false;
UpdateShopState();
}
//gameObject.SetActive(false);
if (count)
currentCount++;
if (currentCount >= maxCount && count)
gameObject.SetActive(false);
if (affectedObj != null && affectedObj.currentCount >= affectedObj.maxCount && affectedObj.count)
ResetCount();
}
public void ResetCount()
private void OnOpenerEnter(PointerEventData data)
{
affectedObj.gameObject.SetActive(true);
affectedObj.currentCount = 0;
OpenerIsHovered = true;
UpdateShopState();
}
private void OnOpenerExit(PointerEventData data)
{
OpenerIsHovered = false;
UpdateShopState();
}
private void UpdateShopState()
{
CurrentShopState = (CurrentShopState && !CloseIsHovered) || (OpenerIsHovered && !CloseIsHovered);
anim.SetBool("IsOpen", CurrentShopState);
}
}

View File

@ -0,0 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CanvasCameraSetter : MonoBehaviour
{
private void Awake()
{
GetComponent<Canvas>().worldCamera = Camera.main;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a3cef6d37caa7c467b68369285a9ac2a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,10 @@
using UnityEngine;
public class TowerDeleter : MonoBehaviour
{
public void Delete()
{
Tower tower = transform.root.GetComponentInChildren<Tower>();
Destroy(tower.gameObject);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 56e3a423572a813999ef1a5b4d613178
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Sprites/trash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 702eb809bfcc0b4c7b6222f4d72c5d63
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant: