//public SelectionHandler selectionHandler { get; private set; } //public OrderHandler orderHandler { get; private set; } //public TimeHandler timeHandler { get; private set; } ///<summary> /// Called from the monobehaviour awake of the GameManager singleton. /// There needs to be a stable order in initializations, which is why we use this instead of Start and Awake to initialize stuff. /// </summary> public void Init() { //selectionHandler = GetComponent<SelectionHandler>(); //orderHandler = GetComponent<OrderHandler>(); //timeHandler = GetComponent<TimeHandler>(); unitsRoot = FindObjectOfType <UnitsRoot>(); }
private void Awake() { unitsRoot = FindObjectOfType <UnitsRoot>(); stateMachineLow = new StateMachine <LowStates>(); stateMachineLow.AddState(LowStates.NotSelecting); stateMachineLow.AddState(LowStates.Selecting, null, () => { ShapeSelecting(); }); stateMachineLow.AddState(LowStates.InternalConfirm, () => { ConfirmShapeSelecting(); stateMachineLow.CurrentState = LowStates.NotSelecting; }); stateMachineLow.AddState(LowStates.InternalCancel, () => { CancelShapeSelecting(); stateMachineLow.CurrentState = LowStates.NotSelecting; }); stateMachineHigh = new StateMachine <HighStates>(); stateMachineHigh.AddState(HighStates.Dead, () => { selectionMode = SelectionModes.Default; CancelSelecting(); DeselectAndDepreselectEveryone(); }); stateMachineHigh.AddState(HighStates.Inactive, () => { selectionMode = SelectionModes.Default; CancelSelecting(); }); stateMachineHigh.AddState(HighStates.Active /*, null, () => { stateMachineLow.Update(); }*/); stateMachineHigh.AddState(HighStates.Pause); stateMachineLow.CurrentState = LowStates.NotSelecting; stateMachineHigh.CurrentState = HighStates.Active; }
//-----------------------------------------------------------------------------------------------------// private void Start() { gm = GameManager.Instance; mainCamera = gm.currentMainCamera.transform.GetChild(0).GetComponent <Camera>(); unitsRoot = FindObjectOfType <UnitsRoot>(); }