public static PlayerHandAction CreateAction(HandActionId id, GameObject interactorGameObject, GameObject interactedGameObject) { PlayerHandAction action = null; switch (id) { case HandActionId.Cancel: action = new CancelAction(interactorGameObject, interactedGameObject); break; case HandActionId.OpenDoor: break; case HandActionId.PressButton: action = new PressButtonAction(interactorGameObject, interactedGameObject); break; case HandActionId.Take: action = new TakeAction(interactorGameObject, interactedGameObject); break; default: break; } return(action); }
public void TriggeredBy(HandActionId action, GameObject actorGameObject) { PlayerActionsManager actorActionsManager = actorGameObject.GetComponent <PlayerActionsManager>(); PlayerHandAction playerHandAction = PlayerHandAction.CreateAction(action, actorGameObject, gameObject); actorActionsManager.EnqueueAction(playerHandAction); }
public PlayerHandAction(HandActionId id, GameObject interactorGameObject, GameObject interactedGameObject) { this.id = id; InteractorGameObject = interactorGameObject; InteractedGameObject = interactedGameObject; }