浏览代码

Added slime critter behavior (#312)

* Slime Critter initial behavior

* Added slime critter behavior
/devlogs-3-input
GitHub 3 年前
当前提交
54f79bad
共有 37 个文件被更改,包括 2439 次插入285 次删除
  1. 6
      UOP1_Project/Assets/Art/Characters/PlantCritter/Animation/PlantCritter.controller
  2. 311
      UOP1_Project/Assets/Prefabs/Characters/PlantCritter.prefab
  3. 258
      UOP1_Project/Assets/Prefabs/Characters/SlimeCritter_Base.prefab
  4. 476
      UOP1_Project/Assets/Scenes/TestingGround.unity
  5. 5
      UOP1_Project/Assets/ScriptableObjects/Critters/PlantCritter.asset
  6. 69
      UOP1_Project/Assets/Scripts/Characters/Critter.cs
  7. 25
      UOP1_Project/Assets/Scripts/Characters/ScriptableObjects/CritterSO.cs
  8. 1
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Alert.asset
  9. 1
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Idle.asset
  10. 8
      UOP1_Project/Assets/Prefabs/Characters/Critter.meta
  11. 1001
      UOP1_Project/Assets/Scenes/TestingGround/NavMesh.asset
  12. 8
      UOP1_Project/Assets/Scenes/TestingGround/NavMesh.asset.meta
  13. 34
      UOP1_Project/Assets/ScriptableObjects/Critters/SlimeCritter.asset
  14. 8
      UOP1_Project/Assets/ScriptableObjects/Critters/SlimeCritter.asset.meta
  15. 31
      UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsCritterRoamingSO.cs
  16. 11
      UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsCritterRoamingSO.cs.meta
  17. 76
      UOP1_Project/Assets/Prefabs/Characters/Critter/TriggerZone.prefab
  18. 7
      UOP1_Project/Assets/Prefabs/Characters/Critter/TriggerZone.prefab.meta
  19. 135
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Critter_TransitionTable.asset
  20. 16
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Roaming.asset
  21. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Roaming.asset.meta
  22. 15
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterChasing.asset
  23. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterChasing.asset.meta
  24. 15
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterRoaming.asset
  25. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterRoaming.asset.meta
  26. 20
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_False_OnEnter.asset
  27. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_False_OnEnter.asset.meta
  28. 20
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_True_OnEnter.asset
  29. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_True_OnEnter.asset.meta
  30. 8
      UOP1_Project/Assets/Scenes/TestingGround/Materials.meta
  31. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies.meta
  32. 111
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/PlantCritter_TransitionTable.asset
  33. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter.meta
  34. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter
  35. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Critter_TransitionTable.asset.meta

6
UOP1_Project/Assets/Art/Characters/PlantCritter/Animation/PlantCritter.controller


m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
- m_Name: IsMoving
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer

311
UOP1_Project/Assets/Prefabs/Characters/PlantCritter.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &460632930
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 460632931}
- component: {fileID: 460632933}
- component: {fileID: 460632932}
m_Layer: 0
m_Name: AlertZone
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &460632931
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 460632930}
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_Children: []
m_Father: {fileID: 8221149608678237085}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!135 &460632933
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 460632930}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Radius: 7
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &460632932
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 460632930}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7eb40f37003e762489325a71829af192, type: 3}
m_Name:
m_EditorClassIdentifier:
_enterZone:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 443910769}
m_MethodName: set_isPlayerInAlertZone
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
_layers:
serializedVersion: 2
m_Bits: 512
--- !u!1 &575482847
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 575482848}
- component: {fileID: 575482850}
- component: {fileID: 575482849}
m_Layer: 0
m_Name: AttackZone
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &575482848
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 575482847}
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_Children: []
m_Father: {fileID: 8221149608678237085}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!135 &575482850
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 575482847}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Radius: 1.5
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &575482849
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 575482847}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7eb40f37003e762489325a71829af192, type: 3}
m_Name:
m_EditorClassIdentifier:
_enterZone:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 443910769}
m_MethodName: set_isPlayerInAttackZone
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
_layers:
serializedVersion: 2
m_Bits: 512
--- !u!136 &236781474
CapsuleCollider:
m_ObjectHideFlags: 0

_critterSO: {fileID: 11400000, guid: 301a61db8a2a4ef408992e723f0b6b53, type: 2}
_collectibleItemPrefab: {fileID: 2126586097156616357, guid: 0f60adbc96570cb4e9898a0409956f1d,
type: 3}
--- !u!1001 &4629040063581857200
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 8221149608678237085}
m_Modifications:
- target: {fileID: 96998187169542720, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_Radius
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 443910769}
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: set_isPlayerInAttackZone
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_RootOrder
value: 3
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542727, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_Name
value: TriggerZone_Attack
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c823b09b59e206649a8779a78929fa2d, type: 3}
--- !u!1001 &5714929754622545917
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 8221149608678237085}
m_Modifications:
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 443910769}
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: set_isPlayerInAlertZone
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542727, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_Name
value: TriggerZone_Alert
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c823b09b59e206649a8779a78929fa2d, type: 3}
--- !u!1001 &8475173613595968630
PrefabInstance:
m_ObjectHideFlags: 0

258
UOP1_Project/Assets/Prefabs/Characters/SlimeCritter_Base.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!135 &4665385715536349190
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8687264390989375961}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.45
m_Center: {x: 0, y: 0.32, z: 0}
--- !u!135 &6188918218575104391
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8687264390989375961}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0.32, z: 0}
--- !u!114 &-4815453607611708844
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8687264390989375961}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eeda163c70b3cb4ebb88ba92f608fd8, type: 3}
m_Name:
m_EditorClassIdentifier:
_transitionTableSO: {fileID: 11400000, guid: c106e88137c90384bb4b18ba46869b64, type: 2}
_debugger:
debugTransitions: 0
appendConditionsInfo: 1
appendActionsInfo: 1
currentState:
--- !u!195 &-4755876077494293666
NavMeshAgent:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8687264390989375961}
m_Enabled: 1
m_AgentTypeID: 0
m_Radius: 0.5
m_Speed: 3.5
m_Acceleration: 8
avoidancePriority: 50
m_AngularSpeed: 240
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
m_Height: 2
m_BaseOffset: 0
m_WalkableMask: 4294967295
m_ObstacleAvoidanceType: 4
--- !u!114 &-2448911175244354893
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8687264390989375961}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d83d74df43f0a0b42afeaffe5c3e02cc, type: 3}
m_Name:
m_EditorClassIdentifier:
_critterSO: {fileID: 11400000, guid: fd7717100e602c446847524419231170, type: 2}
_collectibleItemPrefab: {fileID: 2126586097156616357, guid: 0f60adbc96570cb4e9898a0409956f1d,
type: 3}
--- !u!1001 &2135821800440209491
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 8341946629798114147}
m_Modifications:
- target: {fileID: 96998187169542720, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_Radius
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: -2448911175244354893}
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: set_isPlayerInAttackZone
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_RootOrder
value: 3
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542727, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_Name
value: TriggerZone_Attack
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c823b09b59e206649a8779a78929fa2d, type: 3}
--- !u!1001 &4844929329272712131
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 8341946629798114147}
m_Modifications:
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: -2448911175244354893}
- target: {fileID: 96998187169542721, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: _enterZone.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: set_isPlayerInAlertZone
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542726, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 96998187169542727, guid: c823b09b59e206649a8779a78929fa2d,
type: 3}
propertyPath: m_Name
value: TriggerZone_Alert
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c823b09b59e206649a8779a78929fa2d, type: 3}
--- !u!1001 &8380694498511901832
PrefabInstance:
m_ObjectHideFlags: 0

- target: {fileID: 919132149155446097, guid: 63937395ff7a888419d4b8fe450d3c91,
type: 3}
propertyPath: m_Name
value: SlimeCritter_Rig
value: SlimeCritter_Base
objectReference: {fileID: 0}
- target: {fileID: 5866666021909216657, guid: 63937395ff7a888419d4b8fe450d3c91,
type: 3}

m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 63937395ff7a888419d4b8fe450d3c91, type: 3}
--- !u!1 &8687264390989375961 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 63937395ff7a888419d4b8fe450d3c91,
type: 3}
m_PrefabInstance: {fileID: 8380694498511901832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &8341946629798114147 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 63937395ff7a888419d4b8fe450d3c91,
type: 3}
m_PrefabInstance: {fileID: 8380694498511901832}
m_PrefabAsset: {fileID: 0}

476
UOP1_Project/Assets/Scenes/TestingGround.unity
文件差异内容过多而无法显示
查看文件

5
UOP1_Project/Assets/ScriptableObjects/Critters/PlantCritter.asset


m_KeyId: 8129245184
m_Key:
_maxHealth: 20
_waitTime: 0
_roamingSpeed: 0
_chasingSpeed: 0
_roamingDistance: 0
_playerTransform: {fileID: 11400000, guid: 35fc4039342b6ba458d0d4429e89ee74, type: 2}
_maxNbDropppedItems: 3
_dropItems:
- _item: {fileID: 11400000, guid: 8aff2c01ad67b48d0a0627754d613415, type: 2}

69
UOP1_Project/Assets/Scripts/Characters/Critter.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class Critter : MonoBehaviour
{

private GameObject _collectibleItemPrefab;
private int _currentHealth = default;
private float _currentWaitTime = default;
private Vector3 _startPosition = default;
private Vector3 _roamingPosTarget = default;
private NavMeshAgent _agent;
private bool _agentActiveOnNavMesh = default;
public bool isRoaming { get; set; }
_startPosition = transform.position;
_currentWaitTime = _critterSO.WaitTime;
_agent = GetComponent<NavMeshAgent>();
_agentActiveOnNavMesh = _agent != null && _agent.isActiveAndEnabled && _agent.isOnNavMesh;
_roamingPosTarget = GetRoamingPosition();
}
private void Update()
{
// Play roaming and chasing movement only if the critter is not static.
if (_agentActiveOnNavMesh)
{
isRoaming = false;
// Critter fainting is not moving.
if (isDead)
{
_agent.isStopped = true;
}
// Chasing the player nearby
else if (isPlayerInAlertZone)
{
_agent.speed = _critterSO.ChasingSpeed;
_agent.SetDestination(_critterSO.PlayerPosition);
// Stop the critter when close enough to perform an attack.
if (isPlayerInAttackZone)
{
_agent.isStopped = true;
}
// Resume critter chasing if the player is moving away from him.
else
{
_agent.isStopped = false;
}
}
// Roaming routine around its start point
else
{
_agent.speed = _critterSO.RoamingSpeed;
_agent.SetDestination(_roamingPosTarget);
if (!_agent.hasPath)
{
_currentWaitTime -= Time.deltaTime;
// Have a short rest at destination before roaming somewhere else.
if (_currentWaitTime < 0)
{
_roamingPosTarget = GetRoamingPosition();
_currentWaitTime = _critterSO.WaitTime;
}
}
else
{
isRoaming = true;
}
}
}
}
// Compute a random target position around the starting position.
private Vector3 GetRoamingPosition()
{
return _startPosition + new Vector3(Random.Range(-1, 1), 0.0f, Random.Range(-1, 1)).normalized * Random.Range(_critterSO.RoamingDistance / 2, _critterSO.RoamingDistance);
}
private void ReceiveAnAttack(int damange)

25
UOP1_Project/Assets/Scripts/Characters/ScriptableObjects/CritterSO.cs


public class CritterSO : ScriptableObject
{
[Tooltip("The name of the critter")]
[SerializeField]
private LocalizedString _name;
[SerializeField] private LocalizedString _name;
[SerializeField]
private int _maxHealth;
[SerializeField] private int _maxHealth;
[Tooltip("How long the critter wait before roaming somewhere else (in second).")]
[SerializeField] private float _waitTime = default;
[Tooltip("Critter roaming speed")]
[SerializeField] private float _roamingSpeed = default;
[Tooltip("Critter chasing speed")]
[SerializeField] private float _chasingSpeed = default;
[Tooltip("How far the critter can roam around its spawning point.")]
[SerializeField] private float _roamingDistance = default;
[Tooltip("Player transform anchor.")]
[SerializeField] private TransformAnchor _playerTransform = default;
[Tooltip("Maximum number of items that can be dropped by the critter when killed.")]
[SerializeField]

public LocalizedString Name => _name;
public int MaxHealth => _maxHealth;
public List<DropItem> DropItems => _dropItems;
public float WaitTime => _waitTime;
public float RoamingSpeed => _roamingSpeed;
public float ChasingSpeed => _chasingSpeed;
public float RoamingDistance => _roamingDistance;
public Vector3 PlayerPosition => _playerTransform.Transform.position;
public int GetNbDroppedItems()
{

1
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Alert.asset


_actions:
- {fileID: 11400000, guid: 6f2fd87f078fefb48ad59ba0e24df91e, type: 2}
- {fileID: 11400000, guid: b3e528708050add49837de9f6a3d6b48, type: 2}
- {fileID: 11400000, guid: 46af8bb2ed6efed4ab26d05dfc1b560f, type: 2}

1
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Idle.asset


m_EditorClassIdentifier:
_actions:
- {fileID: 11400000, guid: 5cc2ce97159d08647a4577ccf90bd204, type: 2}
- {fileID: 11400000, guid: d33b24ef9d2a6ac4fb91c11c189b81f2, type: 2}

8
UOP1_Project/Assets/Prefabs/Characters/Critter.meta


fileFormatVersion: 2
guid: 986e2af7215347a4f84d89f0aec8d515
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
UOP1_Project/Assets/Scenes/TestingGround/NavMesh.asset
文件差异内容过多而无法显示
查看文件

8
UOP1_Project/Assets/Scenes/TestingGround/NavMesh.asset.meta


fileFormatVersion: 2
guid: 481268d972b0edf479a2115e41956350
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

34
UOP1_Project/Assets/ScriptableObjects/Critters/SlimeCritter.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e005b717defd93a4c81276fd8caab626, type: 3}
m_Name: SlimeCritter
m_EditorClassIdentifier:
_name:
m_TableReference:
m_TableCollectionName: GUID:753c1cc38ecdc5a4b93227e74555c8d7
m_TableEntryReference:
m_KeyId: 173183496192
m_Key:
_maxHealth: 30
_waitTime: 2
_roamingSpeed: 1
_chasingSpeed: 2
_roamingDistance: 10
_playerTransform: {fileID: 11400000, guid: 35fc4039342b6ba458d0d4429e89ee74, type: 2}
_maxNbDropppedItems: 3
_dropItems:
- _item: {fileID: 11400000, guid: 8aff2c01ad67b48d0a0627754d613415, type: 2}
_dropRate: 0.45
- _item: {fileID: 11400000, guid: 7a69da03abc7b42a080b2856abaab177, type: 2}
_dropRate: 0.45
- _item: {fileID: 11400000, guid: 7b870b4146bd349bb856ccc38dd7e528, type: 2}
_dropRate: 0.1

8
UOP1_Project/Assets/ScriptableObjects/Critters/SlimeCritter.asset.meta


fileFormatVersion: 2
guid: fd7717100e602c446847524419231170
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

31
UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsCritterRoamingSO.cs


using UnityEngine;
using UOP1.StateMachine;
using UOP1.StateMachine.ScriptableObjects;
[CreateAssetMenu(fileName = "IsCritterRoaming", menuName = "State Machines/Conditions/Is Critter Roaming")]
public class IsCritterRoamingSO : StateConditionSO
{
protected override Condition CreateCondition() => new IsCritterRoaming();
}
public class IsCritterRoaming : Condition
{
private Critter _critter;
public override void Awake(StateMachine stateMachine)
{
_critter = stateMachine.GetComponent<Critter>();
}
protected override bool Statement()
{
bool result = false;
if (_critter != null)
{
result = _critter.isRoaming;
}
return result;
}
}

11
UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsCritterRoamingSO.cs.meta


fileFormatVersion: 2
guid: 768a9362f6f822441899938ac75608d5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

76
UOP1_Project/Assets/Prefabs/Characters/Critter/TriggerZone.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &96998187169542727
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 96998187169542726}
- component: {fileID: 96998187169542720}
- component: {fileID: 96998187169542721}
m_Layer: 0
m_Name: AlertZone
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &96998187169542726
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 96998187169542727}
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_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!135 &96998187169542720
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 96998187169542727}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Radius: 7
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &96998187169542721
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 96998187169542727}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7eb40f37003e762489325a71829af192, type: 3}
m_Name:
m_EditorClassIdentifier:
_enterZone:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 0}
m_MethodName: set_isPlayerInAlertZone
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
_layers:
serializedVersion: 2
m_Bits: 512

7
UOP1_Project/Assets/Prefabs/Characters/Critter/TriggerZone.prefab.meta


fileFormatVersion: 2
guid: c823b09b59e206649a8779a78929fa2d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

135
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Critter_TransitionTable.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 872cbaa965d1f6e4e98365d74e2060df, type: 3}
m_Name: Critter_TransitionTable
m_EditorClassIdentifier:
_transitions:
- FromState: {fileID: 11400000, guid: de1c472f332cffc489061fd5a5c8b897, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: d3d792483d93aab4bb6385492c92dc88, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 5d0cf556c54f5154a9edc595f1958590, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 8d78c6cbad5610342b28e8f66a8a9d11, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
ToState: {fileID: 11400000, guid: f4a07080dd036db4392317bdcd3c20b4, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: c06b3d79b9eb00344825524cd0f6091a, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: b5098991df6fea14294cbd13e586cfd8, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: b5098991df6fea14294cbd13e586cfd8, type: 2}
Operator: 0
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
ToState: {fileID: 11400000, guid: 4b41f0e0e0982384b8f7a718509ea3a9, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 2c6688db47ae9fc4c840f3335be36bfa, type: 2}
Operator: 0
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 4b41f0e0e0982384b8f7a718509ea3a9, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 2c6688db47ae9fc4c840f3335be36bfa, type: 2}
Operator: 0
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 4b41f0e0e0982384b8f7a718509ea3a9, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0

16
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Roaming.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 35432205b9a6a374bbbfe6b7cac92179, type: 3}
m_Name: Roaming
m_EditorClassIdentifier:
_actions:
- {fileID: 11400000, guid: 46af8bb2ed6efed4ab26d05dfc1b560f, type: 2}

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/States/Roaming.asset.meta


fileFormatVersion: 2
guid: 4b41f0e0e0982384b8f7a718509ea3a9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

15
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterChasing.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 114d24d54a1e0bf4090569cc7539528a, type: 3}
m_Name: IsCritterChasing
m_EditorClassIdentifier:
cacheResult: 1

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterChasing.asset.meta


fileFormatVersion: 2
guid: 8f57c46a562edb24897ca9db8807e903
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

15
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterRoaming.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 768a9362f6f822441899938ac75608d5, type: 3}
m_Name: IsCritterRoaming
m_EditorClassIdentifier:
cacheResult: 1

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Conditions/IsCritterRoaming.asset.meta


fileFormatVersion: 2
guid: 2c6688db47ae9fc4c840f3335be36bfa
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

20
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_False_OnEnter.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4c70afd7f911db7449d578cc18700875, type: 3}
m_Name: IsMoving_False_OnEnter
m_EditorClassIdentifier:
parameterType: 0
parameterName: IsMoving
boolValue: 0
intValue: 0
floatValue: 0
whenToRun: 0

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_False_OnEnter.asset.meta


fileFormatVersion: 2
guid: d33b24ef9d2a6ac4fb91c11c189b81f2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

20
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_True_OnEnter.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4c70afd7f911db7449d578cc18700875, type: 3}
m_Name: IsMoving_True_OnEnter
m_EditorClassIdentifier:
parameterType: 0
parameterName: IsMoving
boolValue: 1
intValue: 0
floatValue: 0
whenToRun: 0

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Actions/IsMoving_True_OnEnter.asset.meta


fileFormatVersion: 2
guid: 46af8bb2ed6efed4ab26d05dfc1b560f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/Scenes/TestingGround/Materials.meta


fileFormatVersion: 2
guid: 83d0425f34705b243bc0df7534972cdc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies.meta


fileFormatVersion: 2
guid: 323cd250e4430ca4091d6ce1a79ce9a3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

111
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/PlantCritter_TransitionTable.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 872cbaa965d1f6e4e98365d74e2060df, type: 3}
m_Name: PlantCritter_TransitionTable
m_EditorClassIdentifier:
_transitions:
- FromState: {fileID: 11400000, guid: de1c472f332cffc489061fd5a5c8b897, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: d3d792483d93aab4bb6385492c92dc88, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 5d0cf556c54f5154a9edc595f1958590, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 8d78c6cbad5610342b28e8f66a8a9d11, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
ToState: {fileID: 11400000, guid: f4a07080dd036db4392317bdcd3c20b4, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: c06b3d79b9eb00344825524cd0f6091a, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: b5098991df6fea14294cbd13e586cfd8, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: b5098991df6fea14294cbd13e586cfd8, type: 2}
Operator: 0
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter.meta → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter.meta

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/PlantCritter_TransitionTable.asset.meta → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critter/Critter_TransitionTable.asset.meta

正在加载...
取消
保存