public void TriggerTransition(LumberjackFSMState.StateEnum newState, EntityId targetEntityId, Vector3 targetPosition) { if (npcLumberjack == null) { Debug.LogError("Trying to change state without authority."); return; } if (IsValidTransition(newState)) { Data.currentState = newState; Data.targetEntityId = targetEntityId; Data.targetPosition = targetPosition.FlattenVector().ToVector3f(); var update = new NPCLumberjack.Update(); update.SetCurrentState(Data.currentState); update.SetTargetEntityId(Data.targetEntityId); update.SetTargetPosition(Data.targetPosition); npcLumberjack.Send(update); TransitionTo(newState); } else { Debug.LogErrorFormat("NPCLumberjack: Invalid transition from {0} to {1} detected.", Data.currentState, newState); } }
private void OnNpcLumberjackComponentUpdated(NPCLumberjack.Update update) { if (update.currentState.HasValue) { OnChangeState(update.currentState.Value, lumberjack.Data.targetEntity); } }
private void OnNpcLumberjackComponentUpdate(NPCLumberjack.Update newState) { if (newState.currentState.HasValue) { if (cachedFsmState != newState.currentState.Value) { cachedFsmState = newState.currentState.Value; SetAnimationState(cachedFsmState); } } }
private void OnLumberjackComponentUpdate(NPCLumberjack.Update newState) { SetAnimationState(newState.currentState.Value); }