浏览代码

Refactoring, renaming, comments

/devlogs-3-input
Ciro Continisio 4 年前
当前提交
162a06e3
共有 15 个文件被更改,包括 155 次插入182 次删除
  1. 89
      UOP1_Project/Assets/Art/Characters/PlantCritter/Animation/PlantCritter.controller
  2. 90
      UOP1_Project/Assets/Prefabs/Characters/PigChef.prefab
  3. 10
      UOP1_Project/Assets/Scenes/TestingGround.unity
  4. 18
      UOP1_Project/Assets/Scripts/Characters/Critter.cs
  5. 11
      UOP1_Project/Assets/Scripts/Characters/Protagonist.cs
  6. 2
      UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsCritterKilledHitSO.cs
  7. 4
      UOP1_Project/Assets/Scripts/Characters/ZoneTriggerController.cs
  8. 26
      UOP1_Project/Assets/Scripts/Input/GameInput.cs
  9. 6
      UOP1_Project/Assets/Scripts/Input/InputReader.cs
  10. 27
      UOP1_Project/Assets/Scripts/Inventory/CollectibleItem.cs
  11. 8
      UOP1_Project/Assets/Scripts/Inventory/ItemPicker.cs
  12. 6
      UOP1_Project/Assets/Settings/Input/GameInput.inputactions
  13. 20
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter/Actions/IsDead_True_OnEnter.asset
  14. 20
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter/Actions/KilledTrigger.asset
  15. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter/Actions/IsDead_True_OnEnter.asset.meta

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


m_Transitions:
- {fileID: 1304842204124139703}
- {fileID: -6117320398294166135}
- {fileID: 3149742496627694283}
- {fileID: 1218776814813949288}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: IsDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -5704565605198617748}
m_Solo: 0

m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-4558656106610778546
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: IsDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1129748727142868905}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.70000005
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-4130062669359518069
AnimatorState:
serializedVersion: 5

m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.70000005
m_HasExitTime: 1
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1

m_CycleOffset: 0
m_Transitions:
- {fileID: -5220075001053048283}
- {fileID: -4558656106610778546}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0

m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
- m_Name: Killed
m_Type: 9
- m_Name: IsDead
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0

m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &3149742496627694283
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: Killed
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1129748727142868905}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.89830506
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &3282315440550505860
AnimatorState:
serializedVersion: 5

m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &4871403619933923880
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: Killed
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1129748727142868905}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.70000005
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &7857801635076326762
AnimatorState:
serializedVersion: 5

m_CycleOffset: 0
m_Transitions:
- {fileID: 2566808087933946074}
- {fileID: 4871403619933923880}
- {fileID: -3863499363013708062}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}

90
UOP1_Project/Assets/Prefabs/Characters/PigChef.prefab


m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!114 &-9087997052744260399
--- !u!114 &6243045328629046901
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 734bceb68e04a4c21a6980076a35f68e, type: 3}
m_Script: {fileID: 11500000, guid: fff0960ef4ea6e04eac66b4a7fd2189d, type: 3}
AddItemEvent: {fileID: 11400000, guid: 582b52ca2b84a41528fe274eea1ced6a, type: 2}
--- !u!114 &-2233620748688457335
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 309633228405838073}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eeda163c70b3cb4ebb88ba92f608fd8, type: 3}
m_Name:
m_EditorClassIdentifier:
_transitionTableSO: {fileID: 11400000, guid: f0baa4ca2bfa24e4cb6d1efe9fa81ea3, type: 2}
_debugger:
debugTransitions: 0
appendConditionsInfo: 1
appendActionsInfo: 1
currentState:
m_RigLayers:
- rig: {fileID: 9145229050409399301}
active: 1
- rig: {fileID: 1178160176358634002}
active: 1
m_Effectors:
- m_Transform: {fileID: 1015346307079217565}
m_Style:
shape: {fileID: 4300000, guid: 687b70eb9c49243639f9379f6965034f, type: 2}
color: {r: 1, g: 0, b: 0, a: 0.09019608}
size: 0.05
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0}
m_Visible: 1
- m_Transform: {fileID: 6742437446004126022}
m_Style:
shape: {fileID: 4300000, guid: c6793350c150f456688e39a81f97364a, type: 2}
color: {r: 1, g: 0, b: 0, a: 0.5}
size: 0.05
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0}
m_Visible: 1
--- !u!114 &3326384532942868502
MonoBehaviour:
m_ObjectHideFlags: 0

- {fileID: 928224351994020785}
- {fileID: 9049048348530379419}
- {fileID: 6905220490405268265}
--- !u!114 &-2233620748688457335
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 309633228405838073}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eeda163c70b3cb4ebb88ba92f608fd8, type: 3}
m_Name:
m_EditorClassIdentifier:
_transitionTableSO: {fileID: 11400000, guid: f0baa4ca2bfa24e4cb6d1efe9fa81ea3, type: 2}
_debugger:
debugTransitions: 0
appendConditionsInfo: 1
appendActionsInfo: 1
currentState:
--- !u!114 &5557640735889932260
MonoBehaviour:
m_ObjectHideFlags: 0

movementInput: {x: 0, y: 0, z: 0}
movementVector: {x: 0, y: 0, z: 0}
isRunning: 0
--- !u!114 &6243045328629046901
--- !u!114 &-9087997052744260399
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fff0960ef4ea6e04eac66b4a7fd2189d, type: 3}
m_Script: {fileID: 11500000, guid: 734bceb68e04a4c21a6980076a35f68e, type: 3}
m_RigLayers:
- rig: {fileID: 9145229050409399301}
active: 1
- rig: {fileID: 1178160176358634002}
active: 1
m_Effectors:
- m_Transform: {fileID: 1015346307079217565}
m_Style:
shape: {fileID: 4300000, guid: 687b70eb9c49243639f9379f6965034f, type: 2}
color: {r: 1, g: 0, b: 0, a: 0.09019608}
size: 0.05
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0}
m_Visible: 1
- m_Transform: {fileID: 6742437446004126022}
m_Style:
shape: {fileID: 4300000, guid: c6793350c150f456688e39a81f97364a, type: 2}
color: {r: 1, g: 0, b: 0, a: 0.5}
size: 0.05
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0}
m_Visible: 1
AddItemEvent: {fileID: 11400000, guid: 582b52ca2b84a41528fe274eea1ced6a, type: 2}
--- !u!114 &9165201357015476168
MonoBehaviour:
m_ObjectHideFlags: 0

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

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


public class Critter : MonoBehaviour
{
[SerializeField] private int _maxHealth = 20;
[SerializeField] private int _fullHealth = 20;
private int _currentHealth = default;
private bool _playerInAlertZone = default;

set => _getHit = value;
}
private bool _killed = default;
public bool Killed
private bool _isDead = default;
public bool IsDead
get => _killed;
set => _killed = true;
get => _isDead;
set => _isDead = true;
_currentHealth = _maxHealth;
_currentHealth = _fullHealth;
private void ReceiveAnAttack(int damage)
private void ReceiveAnAttack(int damange)
_currentHealth -= damage;
_currentHealth -= damange;
_killed = true;
_isDead = true;
}
}

11
UOP1_Project/Assets/Scripts/Characters/Protagonist.cs


[SerializeField] private InputReader _inputReader = default;
public TransformAnchor gameplayCameraTransform;
[SerializeField] private VoidEventChannelSO _openInventoryChannel = default;
private Vector2 _previousMovementInput;
//These fields are read and manipulated by the StateMachine actions

_inputReader.jumpEvent += OnJumpInitiated;
_inputReader.jumpCanceledEvent += OnJumpCanceled;
_inputReader.moveEvent += OnMove;
_inputReader.extraActionEvent += OnExtraAction;
_inputReader.openInventoryEvent += OnOpenInventory;
_inputReader.startedRunning += OnStartedRunning;
_inputReader.stoppedRunning += OnStoppedRunning;
_inputReader.attackEvent += OnAttack;

_inputReader.jumpEvent -= OnJumpInitiated;
_inputReader.jumpCanceledEvent -= OnJumpCanceled;
_inputReader.moveEvent -= OnMove;
_inputReader.extraActionEvent -= OnExtraAction;
_inputReader.openInventoryEvent -= OnOpenInventory;
_inputReader.startedRunning -= OnStartedRunning;
_inputReader.stoppedRunning -= OnStoppedRunning;
//...

private void OnStartedRunning() => isRunning = true;
// This handler is just used for debug, for now
private void OnExtraAction()
private void OnOpenInventory()
extraActionInput = true;
_openInventoryChannel.RaiseEvent();
}
private void OnAttack() => attackInput = true;

2
UOP1_Project/Assets/Scripts/Characters/StateMachine/Conditions/IsCritterKilledHitSO.cs


bool result = false;
if (_critter != null)
{
result = _critter.Killed;
result = _critter.IsDead;
}
return result;
}

4
UOP1_Project/Assets/Scripts/Characters/ZoneTriggerController.cs


}
/// <summary>
/// A generic class for a "zone", that is a trigger collider that can detect if an object of a certain type (layer) entered or exited it.
/// Implements <code>OnTriggerEnter</code> and <code>OnTriggerExit</code> so it needs to be on the same object that holds the Collider.
/// </summary>
public class ZoneTriggerController : MonoBehaviour
{
[SerializeField] private BoolEvent _enterZone = default;

26
UOP1_Project/Assets/Scripts/Input/GameInput.cs


""interactions"": """"
},
{
""name"": ""ExtraAction"",
""name"": ""OpenInventory"",
""type"": ""Button"",
""id"": ""1b6ae4df-f5e6-42fc-92b6-3dcc2e126563"",
""expectedControlType"": ""Button"",

""interactions"": """",
""processors"": """",
""groups"": ""KeyboardOrGamepad"",
""action"": ""ExtraAction"",
""action"": ""OpenInventory"",
""isComposite"": false,
""isPartOfComposite"": false
},

""interactions"": """",
""processors"": """",
""groups"": ""KeyboardOrGamepad"",
""action"": ""ExtraAction"",
""action"": ""OpenInventory"",
""isComposite"": false,
""isPartOfComposite"": false
},

m_Gameplay_Attack = m_Gameplay.FindAction("Attack", throwIfNotFound: true);
m_Gameplay_Interact = m_Gameplay.FindAction("Interact", throwIfNotFound: true);
m_Gameplay_Pause = m_Gameplay.FindAction("Pause", throwIfNotFound: true);
m_Gameplay_ExtraAction = m_Gameplay.FindAction("ExtraAction", throwIfNotFound: true);
m_Gameplay_OpenInventory = m_Gameplay.FindAction("OpenInventory", throwIfNotFound: true);
m_Gameplay_RotateCamera = m_Gameplay.FindAction("RotateCamera", throwIfNotFound: true);
m_Gameplay_MouseControlCamera = m_Gameplay.FindAction("MouseControlCamera", throwIfNotFound: true);
m_Gameplay_Run = m_Gameplay.FindAction("Run", throwIfNotFound: true);

private readonly InputAction m_Gameplay_Attack;
private readonly InputAction m_Gameplay_Interact;
private readonly InputAction m_Gameplay_Pause;
private readonly InputAction m_Gameplay_ExtraAction;
private readonly InputAction m_Gameplay_OpenInventory;
private readonly InputAction m_Gameplay_RotateCamera;
private readonly InputAction m_Gameplay_MouseControlCamera;
private readonly InputAction m_Gameplay_Run;

public InputAction @Attack => m_Wrapper.m_Gameplay_Attack;
public InputAction @Interact => m_Wrapper.m_Gameplay_Interact;
public InputAction @Pause => m_Wrapper.m_Gameplay_Pause;
public InputAction @ExtraAction => m_Wrapper.m_Gameplay_ExtraAction;
public InputAction @OpenInventory => m_Wrapper.m_Gameplay_OpenInventory;
public InputAction @RotateCamera => m_Wrapper.m_Gameplay_RotateCamera;
public InputAction @MouseControlCamera => m_Wrapper.m_Gameplay_MouseControlCamera;
public InputAction @Run => m_Wrapper.m_Gameplay_Run;

@Pause.started -= m_Wrapper.m_GameplayActionsCallbackInterface.OnPause;
@Pause.performed -= m_Wrapper.m_GameplayActionsCallbackInterface.OnPause;
@Pause.canceled -= m_Wrapper.m_GameplayActionsCallbackInterface.OnPause;
@ExtraAction.started -= m_Wrapper.m_GameplayActionsCallbackInterface.OnExtraAction;
@ExtraAction.performed -= m_Wrapper.m_GameplayActionsCallbackInterface.OnExtraAction;
@ExtraAction.canceled -= m_Wrapper.m_GameplayActionsCallbackInterface.OnExtraAction;
@OpenInventory.started -= m_Wrapper.m_GameplayActionsCallbackInterface.OnOpenInventory;
@OpenInventory.performed -= m_Wrapper.m_GameplayActionsCallbackInterface.OnOpenInventory;
@OpenInventory.canceled -= m_Wrapper.m_GameplayActionsCallbackInterface.OnOpenInventory;
@RotateCamera.started -= m_Wrapper.m_GameplayActionsCallbackInterface.OnRotateCamera;
@RotateCamera.performed -= m_Wrapper.m_GameplayActionsCallbackInterface.OnRotateCamera;
@RotateCamera.canceled -= m_Wrapper.m_GameplayActionsCallbackInterface.OnRotateCamera;

@Pause.started += instance.OnPause;
@Pause.performed += instance.OnPause;
@Pause.canceled += instance.OnPause;
@ExtraAction.started += instance.OnExtraAction;
@ExtraAction.performed += instance.OnExtraAction;
@ExtraAction.canceled += instance.OnExtraAction;
@OpenInventory.started += instance.OnOpenInventory;
@OpenInventory.performed += instance.OnOpenInventory;
@OpenInventory.canceled += instance.OnOpenInventory;
@RotateCamera.started += instance.OnRotateCamera;
@RotateCamera.performed += instance.OnRotateCamera;
@RotateCamera.canceled += instance.OnRotateCamera;

void OnAttack(InputAction.CallbackContext context);
void OnInteract(InputAction.CallbackContext context);
void OnPause(InputAction.CallbackContext context);
void OnExtraAction(InputAction.CallbackContext context);
void OnOpenInventory(InputAction.CallbackContext context);
void OnRotateCamera(InputAction.CallbackContext context);
void OnMouseControlCamera(InputAction.CallbackContext context);
void OnRun(InputAction.CallbackContext context);

6
UOP1_Project/Assets/Scripts/Input/InputReader.cs


public event UnityAction jumpCanceledEvent = delegate { };
public event UnityAction attackEvent = delegate { };
public event UnityAction interactEvent = delegate { }; // Used to talk, pickup objects, interact with tools like the cooking cauldron
public event UnityAction extraActionEvent = delegate { }; // Used to bring up the inventory
public event UnityAction openInventoryEvent = delegate { }; // Used to bring up the inventory
public event UnityAction pauseEvent = delegate { };
public event UnityAction<Vector2> moveEvent = delegate { };
public event UnityAction<Vector2, bool> cameraMoveEvent = delegate { };

attackEvent.Invoke();
}
public void OnExtraAction(InputAction.CallbackContext context)
public void OnOpenInventory(InputAction.CallbackContext context)
extraActionEvent.Invoke();
openInventoryEvent.Invoke();
}
public void OnInteract(InputAction.CallbackContext context)

27
UOP1_Project/Assets/Scripts/Inventory/CollectibleItem.cs


using UnityEngine;
public class CollectibleItem : MonoBehaviour
{
[SerializeField] private Item _currentItem;
[SerializeField] private SpriteRenderer[] _itemImages;
[SerializeField]
private Item currentItem;
[SerializeField]
private SpriteRenderer[] itemImages;
private void Start()
{
SetItem();

{
Debug.Log("current item " + currentItem);
return currentItem;
Debug.Log("current item " + _currentItem);
return _currentItem;
//this function is only for testing
// TODO: This function is only for testing
for (int i = 0; i < itemImages.Length; i++)
for (int i = 0; i < _itemImages.Length; i++)
itemImages[i].sprite = currentItem.PreviewImage;
_itemImages[i].sprite = _currentItem.PreviewImage;
}
}
if (other.gameObject.GetComponent<ItemPicker>())
if (other.gameObject.TryGetComponent<ItemPicker>(out ItemPicker itemPickerComp))
other.gameObject.GetComponent<ItemPicker>().PickItem(currentItem);
itemPickerComp.PickItem(_currentItem);
}
}
}

8
UOP1_Project/Assets/Scripts/Inventory/ItemPicker.cs


public class ItemPicker : MonoBehaviour
{
[SerializeField]
ItemEventChannelSo AddItemEvent;
[SerializeField] private ItemEventChannelSo _addItemEvent;
if (AddItemEvent != null)
AddItemEvent.RaiseEvent(item);
if (_addItemEvent != null)
_addItemEvent.RaiseEvent(item);
}
}

6
UOP1_Project/Assets/Settings/Input/GameInput.inputactions


"interactions": ""
},
{
"name": "ExtraAction",
"name": "OpenInventory",
"type": "Button",
"id": "1b6ae4df-f5e6-42fc-92b6-3dcc2e126563",
"expectedControlType": "Button",

"interactions": "",
"processors": "",
"groups": "KeyboardOrGamepad",
"action": "ExtraAction",
"action": "OpenInventory",
"isComposite": false,
"isPartOfComposite": false
},

"interactions": "",
"processors": "",
"groups": "KeyboardOrGamepad",
"action": "ExtraAction",
"action": "OpenInventory",
"isComposite": false,
"isPartOfComposite": false
},

20
UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter/Actions/IsDead_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: IsDead_True_OnEnter
m_EditorClassIdentifier:
parameterType: 0
parameterName: IsDead
boolValue: 1
intValue: 0
floatValue: 0
whenToRun: 0

20
UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter/Actions/KilledTrigger.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: KilledTrigger
m_EditorClassIdentifier:
parameterType: 3
parameterName: Killed
boolValue: 0
intValue: 0
floatValue: 0
whenToRun: 0

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter/Actions/KilledTrigger.asset.meta → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Enemies/PlantCritter/Actions/IsDead_True_OnEnter.asset.meta

正在加载...
取消
保存