Refactor Entity spawn
This commit is contained in:
parent
7175548e67
commit
75119a5510
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: a37d91f7155dad14a9e9a2e5c50c9e67
|
guid: ebc7015247ecf204d9497288213b9513
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
79
Assets/Prefabs/Entity/AIEntity.prefab
Normal file
79
Assets/Prefabs/Entity/AIEntity.prefab
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1001 &5439311404955432371
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5187891437386525604, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: AIEntity
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 5187891437386525604, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: -2439176753553472379}
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
--- !u!1 &901642561250106903 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 5187891437386525604, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5439311404955432371}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &-2439176753553472379
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 901642561250106903}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5e760319f9324fe896ee84eacad61e2b, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: fa26d7cdbf173f243b5247f94743d6dc
|
guid: b9dcf43e40292684a91afec135d66362
|
||||||
PrefabImporter:
|
PrefabImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
79
Assets/Prefabs/Entity/PlayerEntity.prefab
Normal file
79
Assets/Prefabs/Entity/PlayerEntity.prefab
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1001 &5439311404955432371
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 522593612081797045, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5187891437386525604, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: PlayerEntity
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 5187891437386525604, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: -7990606747838050484}
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
--- !u!1 &901642561250106903 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 5187891437386525604, guid: d08db87d041c1744abb1b94b454c8cb6, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5439311404955432371}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &-7990606747838050484
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 901642561250106903}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 27b78ede8ae04ba889029b8c75136bca, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
7
Assets/Prefabs/Entity/PlayerEntity.prefab.meta
Normal file
7
Assets/Prefabs/Entity/PlayerEntity.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4bcc57c2df33eef4f90639808b9388c2
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -1,6 +1,6 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
--- !u!1 &2524050652412672907
|
--- !u!1 &5187891437386525604
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@ -8,22 +8,21 @@ GameObject:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 3129035878156639630}
|
- component: {fileID: 522593612081797045}
|
||||||
- component: {fileID: 3354258396458769265}
|
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: CharacterObject
|
m_Name: _EntityPrefab
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!4 &3129035878156639630
|
--- !u!4 &522593612081797045
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2524050652412672907}
|
m_GameObject: {fileID: 5187891437386525604}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
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}
|
||||||
@ -32,15 +31,3 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &3354258396458769265
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2524050652412672907}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: d0f9d5c017974107acb0bb6e6e117cf8, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
7
Assets/Prefabs/Entity/_EntityPrefab.prefab.meta
Normal file
7
Assets/Prefabs/Entity/_EntityPrefab.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d08db87d041c1744abb1b94b454c8cb6
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -277,6 +277,37 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: c7726a6ea1f8ea2409bb7e95bd89fff1, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: c7726a6ea1f8ea2409bb7e95bd89fff1, type: 3}
|
||||||
|
--- !u!1 &221641347
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 221641348}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SpawningPosition (4)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &221641348
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 221641347}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 3, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1095701397}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &241099713
|
--- !u!1 &241099713
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -725,7 +756,7 @@ Transform:
|
|||||||
m_GameObject: {fileID: 617865562}
|
m_GameObject: {fileID: 617865562}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
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.5, z: 0}
|
||||||
m_LocalScale: {x: 20, y: 1, z: 20}
|
m_LocalScale: {x: 20, y: 1, z: 20}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
@ -854,6 +885,37 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &838201966
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 838201967}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SpawningPosition (3)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &838201967
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 838201966}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 1, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1095701397}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1063375176
|
--- !u!1 &1063375176
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -916,6 +978,41 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 241099714}
|
m_Father: {fileID: 241099714}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &1095701396
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1095701397}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SpawningPositions
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1095701397
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1095701396}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1670126725}
|
||||||
|
- {fileID: 1257198775}
|
||||||
|
- {fileID: 838201967}
|
||||||
|
- {fileID: 221641348}
|
||||||
|
m_Father: {fileID: 1786723715}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1197839770
|
--- !u!1 &1197839770
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -947,6 +1044,37 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &1257198774
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1257198775}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SpawningPosition (2)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1257198775
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1257198774}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: -1, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1095701397}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1346566915
|
--- !u!1 &1346566915
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1009,6 +1137,37 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &1670126724
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1670126725}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SpawningPosition (1)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1670126725
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1670126724}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: -3, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1095701397}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1786723713
|
--- !u!1 &1786723713
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1018,35 +1177,14 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1786723715}
|
- component: {fileID: 1786723715}
|
||||||
- component: {fileID: 1786723714}
|
- component: {fileID: 1786723716}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: MapManager
|
m_Name: GameManager
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!114 &1786723714
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1786723713}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: e2c07e2ea440472a8e65c55a9ba005b3, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
characterList: {fileID: 11400000, guid: 1c7c20b63697f2845a5a5c2b32254770, type: 2}
|
|
||||||
characterPrefab: {fileID: 3354258396458769265, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
spawnPoints:
|
|
||||||
- {fileID: 1074654351}
|
|
||||||
- {fileID: 1941532538}
|
|
||||||
- {fileID: 404278099}
|
|
||||||
- {fileID: 332114629}
|
|
||||||
delayBeforeFirstSpawn: 1
|
|
||||||
delayBetweenSpawn: 0.6
|
|
||||||
--- !u!4 &1786723715
|
--- !u!4 &1786723715
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1059,9 +1197,30 @@ Transform:
|
|||||||
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
|
||||||
m_Children: []
|
m_Children:
|
||||||
|
- {fileID: 1095701397}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &1786723716
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1786723713}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a08f275ee4964c31a339dd725df70431, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
playerPrefab: {fileID: -7990606747838050484, guid: 4bcc57c2df33eef4f90639808b9388c2, type: 3}
|
||||||
|
aiPrefab: {fileID: -2439176753553472379, guid: b9dcf43e40292684a91afec135d66362, type: 3}
|
||||||
|
entityList: {fileID: 11400000, guid: 1c7c20b63697f2845a5a5c2b32254770, type: 2}
|
||||||
|
spawnPositions:
|
||||||
|
- {fileID: 1670126725}
|
||||||
|
- {fileID: 1257198775}
|
||||||
|
- {fileID: 838201967}
|
||||||
|
- {fileID: 221641348}
|
||||||
--- !u!1 &1868741663
|
--- !u!1 &1868741663
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1156,63 +1315,6 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 241099714}
|
m_Father: {fileID: 241099714}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1001 &7266953330162516684
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 0}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: 2524050652412672907, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: CharacterObject
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3129035878156639630, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: fa26d7cdbf173f243b5247f94743d6dc, type: 3}
|
|
||||||
--- !u!1660057539 &9223372036854775807
|
--- !u!1660057539 &9223372036854775807
|
||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1229,4 +1331,3 @@ SceneRoots:
|
|||||||
- {fileID: 88031185}
|
- {fileID: 88031185}
|
||||||
- {fileID: 171304467}
|
- {fileID: 171304467}
|
||||||
- {fileID: 1888508550}
|
- {fileID: 1888508550}
|
||||||
- {fileID: 7266953330162516684}
|
|
||||||
|
|||||||
@ -1,11 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace MedievalParty.Core
|
|
||||||
{
|
|
||||||
[CreateAssetMenu(menuName = "ScriptableObjects/Characters/List", fileName = "Character")]
|
|
||||||
public class CharacterListSO: ScriptableObject
|
|
||||||
{
|
|
||||||
public List<CharacterSO> Characters;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace MedievalParty.Core
|
|
||||||
{
|
|
||||||
public class CharacterObject: MonoBehaviour
|
|
||||||
{
|
|
||||||
public void SetCharacter(CharacterSO character)
|
|
||||||
{
|
|
||||||
Instantiate(character.visual, transform);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace MedievalParty.Core
|
|
||||||
{
|
|
||||||
[CreateAssetMenu(menuName = "ScriptableObjects/Characters/Info", fileName = "Character")]
|
|
||||||
public class CharacterSO: ScriptableObject
|
|
||||||
{
|
|
||||||
public GameObject visual;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
3
Assets/Scripts/Core/Game.meta
Normal file
3
Assets/Scripts/Core/Game.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 63f3c439952a4a9c838bbb0d4fac1acc
|
||||||
|
timeCreated: 1764260237
|
||||||
45
Assets/Scripts/Core/Game/GameManager_SpawningEntityState.cs
Normal file
45
Assets/Scripts/Core/Game/GameManager_SpawningEntityState.cs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using MedievalParty.Entity;
|
||||||
|
using MedievalParty.Entity.AI;
|
||||||
|
using MedievalParty.Entity.Player;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace MedievalParty.Core.Game
|
||||||
|
{
|
||||||
|
public class GameManager_SpawningEntityState: IState
|
||||||
|
{
|
||||||
|
private readonly PlayerObject _playerPrefab;
|
||||||
|
private readonly AIObject _AIPrefab;
|
||||||
|
private readonly List<Transform> _spawningPositions;
|
||||||
|
private readonly EntityListSO _entityList;
|
||||||
|
private readonly Action _onSpawnCompleted;
|
||||||
|
|
||||||
|
public GameManager_SpawningEntityState(PlayerObject playerPrefab, AIObject aiPrefab, List<Transform> spawningPositions, EntityListSO entityList, Action onSpawnCompleted)
|
||||||
|
{
|
||||||
|
_playerPrefab = playerPrefab;
|
||||||
|
_AIPrefab = aiPrefab;
|
||||||
|
_spawningPositions = spawningPositions;
|
||||||
|
_entityList = entityList;
|
||||||
|
_onSpawnCompleted = onSpawnCompleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnEnter()
|
||||||
|
{
|
||||||
|
CreateEntity(_playerPrefab, _spawningPositions[0].position, _entityList.Characters[0]);
|
||||||
|
for (int i = 1; i < _spawningPositions.Count; i++)
|
||||||
|
CreateEntity(_AIPrefab, _spawningPositions[i].position, _entityList.Characters[i]);
|
||||||
|
|
||||||
|
_onSpawnCompleted();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnExit() { }
|
||||||
|
public void OnUpdate() { }
|
||||||
|
|
||||||
|
private void CreateEntity(EntityObject prefab, Vector3 spawn, EntitySO entity)
|
||||||
|
{
|
||||||
|
EntityObject obj = GameObject.Instantiate(prefab, spawn, Quaternion.identity);
|
||||||
|
obj.SetCharacter(entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 602473e47fcfafd4cb52793f4747e538
|
||||||
43
Assets/Scripts/Core/GameManager.cs
Normal file
43
Assets/Scripts/Core/GameManager.cs
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using MedievalParty.Core.Game;
|
||||||
|
using MedievalParty.Entity;
|
||||||
|
using MedievalParty.Entity.AI;
|
||||||
|
using MedievalParty.Entity.Player;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
|
|
||||||
|
namespace MedievalParty.Core
|
||||||
|
{
|
||||||
|
public class GameManager: StateBehaviour
|
||||||
|
{
|
||||||
|
public static GameManager Instance { get; private set; }
|
||||||
|
|
||||||
|
[Header("Spawn")]
|
||||||
|
[SerializeField] private PlayerObject playerPrefab;
|
||||||
|
[SerializeField] private AIObject aiPrefab;
|
||||||
|
[SerializeField] private EntityListSO entityList;
|
||||||
|
[SerializeField] private List<Transform> spawnPositions;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (Instance)
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"{typeof(GameManager)} already exist! {transform}");
|
||||||
|
Destroy(gameObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Start()
|
||||||
|
{
|
||||||
|
base.Start();
|
||||||
|
|
||||||
|
GameManager_SpawningEntityState spawningEntity = new GameManager_SpawningEntityState(playerPrefab, aiPrefab, spawnPositions, entityList, ChangeState);
|
||||||
|
|
||||||
|
ChangeState(spawningEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Scripts/Core/GameManager.cs.meta
Normal file
3
Assets/Scripts/Core/GameManager.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a08f275ee4964c31a339dd725df70431
|
||||||
|
timeCreated: 1764259980
|
||||||
3
Assets/Scripts/Entity.meta
Normal file
3
Assets/Scripts/Entity.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4735949433c945c8803757603e376e49
|
||||||
|
timeCreated: 1764259209
|
||||||
3
Assets/Scripts/Entity/AI.meta
Normal file
3
Assets/Scripts/Entity/AI.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8902e1f13d7949318d1f6ecb43b7ae11
|
||||||
|
timeCreated: 1764259681
|
||||||
9
Assets/Scripts/Entity/AI/AIObject.cs
Normal file
9
Assets/Scripts/Entity/AI/AIObject.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
using MedievalParty.Core;
|
||||||
|
|
||||||
|
namespace MedievalParty.Entity.AI
|
||||||
|
{
|
||||||
|
public class AIObject: EntityObject
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Scripts/Entity/AI/AIObject.cs.meta
Normal file
3
Assets/Scripts/Entity/AI/AIObject.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5e760319f9324fe896ee84eacad61e2b
|
||||||
|
timeCreated: 1764259743
|
||||||
11
Assets/Scripts/Entity/EntityListSO.cs
Normal file
11
Assets/Scripts/Entity/EntityListSO.cs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace MedievalParty.Entity
|
||||||
|
{
|
||||||
|
[CreateAssetMenu(menuName = "ScriptableObjects/Entities/List", fileName = "Character")]
|
||||||
|
public class EntityListSO: ScriptableObject
|
||||||
|
{
|
||||||
|
public List<EntitySO> Characters;
|
||||||
|
}
|
||||||
|
}
|
||||||
12
Assets/Scripts/Entity/EntityObject.cs
Normal file
12
Assets/Scripts/Entity/EntityObject.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace MedievalParty.Entity
|
||||||
|
{
|
||||||
|
public abstract class EntityObject: MonoBehaviour
|
||||||
|
{
|
||||||
|
public void SetCharacter(EntitySO entity)
|
||||||
|
{
|
||||||
|
Instantiate(entity.visual, transform);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
Assets/Scripts/Entity/EntitySO.cs
Normal file
10
Assets/Scripts/Entity/EntitySO.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace MedievalParty.Entity
|
||||||
|
{
|
||||||
|
[CreateAssetMenu(menuName = "ScriptableObjects/Entities/Info", fileName = "Entity")]
|
||||||
|
public class EntitySO: ScriptableObject
|
||||||
|
{
|
||||||
|
public GameObject visual;
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Scripts/Entity/Player.meta
Normal file
3
Assets/Scripts/Entity/Player.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 651336f7d4134bd2b74fe8aff4fbf0e4
|
||||||
|
timeCreated: 1764259658
|
||||||
9
Assets/Scripts/Entity/Player/PlayerObject.cs
Normal file
9
Assets/Scripts/Entity/Player/PlayerObject.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
using MedievalParty.Core;
|
||||||
|
|
||||||
|
namespace MedievalParty.Entity.Player
|
||||||
|
{
|
||||||
|
public class PlayerObject: EntityObject
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Scripts/Entity/Player/PlayerObject.cs.meta
Normal file
3
Assets/Scripts/Entity/Player/PlayerObject.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 27b78ede8ae04ba889029b8c75136bca
|
||||||
|
timeCreated: 1764259766
|
||||||
@ -1,31 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using MedievalParty.Core;
|
|
||||||
using MedievalParty.Map.States;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace MedievalParty.Map
|
|
||||||
{
|
|
||||||
public class MapManager: StateBehaviour
|
|
||||||
{
|
|
||||||
[Header("Characters")]
|
|
||||||
[SerializeField] private CharacterListSO characterList;
|
|
||||||
[SerializeField] private CharacterObject characterPrefab;
|
|
||||||
|
|
||||||
[Header("Spawn")]
|
|
||||||
[SerializeField] private List<Transform> spawnPoints;
|
|
||||||
[SerializeField] private float delayBeforeFirstSpawn = 1f;
|
|
||||||
[SerializeField] private float delayBetweenSpawn = .6f;
|
|
||||||
|
|
||||||
protected override void Start()
|
|
||||||
{
|
|
||||||
base.Start();
|
|
||||||
|
|
||||||
MapManager_SpawnState spawnState =
|
|
||||||
new MapManager_SpawnState(characterList, characterPrefab, spawnPoints, delayBeforeFirstSpawn, delayBetweenSpawn);
|
|
||||||
|
|
||||||
spawnState.onSpawnOver += (_, _) => ChangeState();
|
|
||||||
|
|
||||||
ChangeState(spawnState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e2c07e2ea440472a8e65c55a9ba005b3
|
|
||||||
timeCreated: 1759432414
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2dd8bd760a7040bfa6d661420f71de39
|
|
||||||
timeCreated: 1759433080
|
|
||||||
@ -1,55 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using MedievalParty.Core;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace MedievalParty.Map.States
|
|
||||||
{
|
|
||||||
public class MapManager_SpawnState: IState
|
|
||||||
{
|
|
||||||
public event EventHandler onSpawnOver;
|
|
||||||
|
|
||||||
private CharacterListSO _characterList;
|
|
||||||
private readonly CharacterObject _characterPrefab;
|
|
||||||
|
|
||||||
private readonly List<Transform> _spawnPoints;
|
|
||||||
private readonly float _delayBeforeFirstSpawn;
|
|
||||||
private readonly float _delayBetweenSpawn;
|
|
||||||
|
|
||||||
private float _delay;
|
|
||||||
private int _index;
|
|
||||||
|
|
||||||
public MapManager_SpawnState(CharacterListSO characterList, CharacterObject characterPrefab, List<Transform> spawnPoints, float delayBeforeFirstSpawn, float delayBetweenSpawn)
|
|
||||||
{
|
|
||||||
_characterList = characterList;
|
|
||||||
_characterPrefab = characterPrefab;
|
|
||||||
_spawnPoints = spawnPoints;
|
|
||||||
_delayBeforeFirstSpawn = delayBeforeFirstSpawn;
|
|
||||||
_delayBetweenSpawn = delayBetweenSpawn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnEnter()
|
|
||||||
{
|
|
||||||
_delay = _delayBeforeFirstSpawn;
|
|
||||||
_index = 0;
|
|
||||||
}
|
|
||||||
public void OnExit() { }
|
|
||||||
|
|
||||||
public void OnUpdate()
|
|
||||||
{
|
|
||||||
_delay -= Time.deltaTime;
|
|
||||||
|
|
||||||
if (_delay <= 0)
|
|
||||||
{
|
|
||||||
CharacterObject obj = GameObject.Instantiate(_characterPrefab, _spawnPoints[_index].position, Quaternion.identity);
|
|
||||||
obj.SetCharacter(_characterList.Characters[_index]);
|
|
||||||
|
|
||||||
_delay = _delayBetweenSpawn;
|
|
||||||
_index ++;
|
|
||||||
|
|
||||||
if(_index >= _characterList.Characters.Count)
|
|
||||||
onSpawnOver?.Invoke(this, EventArgs.Empty);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1584604e3d7644b288bca00e76b8d0d1
|
|
||||||
timeCreated: 1759433169
|
|
||||||
Loading…
x
Reference in New Issue
Block a user