private void OnComponentUpdated(BarracksInfo.Update update) { if (update.barracksState.HasValue) { transition.Play(); SwitchToBarracksState(update.barracksState.Value); } }
public void TriggerTransition(BarracksState newState) { if (barracksInfo == null) { Debug.LogError("Trying to change state without authority."); return; } if (IsValidTransition(newState)) { Data.barracksState = newState; var update = new BarracksInfo.Update(); update.SetBarracksState(Data.barracksState); barracksInfo.Send(update); TransitionTo(newState); } else { Debug.LogErrorFormat("Barracks: Invalid transition from {0} to {1} detected.", Data.barracksState, newState); } }