private void TryChangeState(TechTreeNodeState fromState, TechTreeNodeState toState) { if (state != fromState) { return; } state = toState; if (onStateChanged != null) { onStateChanged(toState); } }
private void OnNodeStateChanged(TechTreeNodeState state) { gameObject.SetActive(state != TechTreeNodeState.Hidden); if (_connectionLine != null) { _connectionLine.SetActive(state != TechTreeNodeState.Hidden); } if (_readyIcon != null) { _readyIcon.SetActive(state == TechTreeNodeState.Researched); } if (_clockIcon != null) { _clockIcon.SetActive(state == TechTreeNodeState.InProcess); } // Todo: visually show research states }
public void SetInitialState(TechTreeNodeState initialState) { TryChangeState(TechTreeNodeState.Hidden, initialState); }