private void UpdateUninitialized(DrillEvent e) { if (e == DrillEvent.DrillInitialized) { InitializeDrill(); _state = _standbyState; } }
public void Handle(DrillEvent e) { Action <DrillEvent> action; if (_stateBehavior.TryGetValue(_state, out action)) { action(e); } _lastTime = DateTime.Now; _lastWorldPosition = ReferenceBlock.GetPosition(); }
private void UpdateStandby(DrillEvent e) { if (e == DrillEvent.DrillStartInvoked) { StartSearching(); _state = _searchState; } else if (e == DrillEvent.DrillStopInvoked) { StopSearching(); StopDrilling(); } }
private void UpdateSearch(DrillEvent e) { if (e == DrillEvent.AsteroidFound) { StopSearching(); StartDrilling(); _state = _drillState; } else if (e == DrillEvent.ContainerFull || e == DrillEvent.DrillStopInvoked) { StopSearching(); _state = _standbyState; } else { ContinueSearching(); } }
private void UpdateDrill(DrillEvent e) { if (e == DrillEvent.AsteroidLost) { StopDrilling(); StartSearching(); _state = _searchState; } else if (e == DrillEvent.ContainerFull || e == DrillEvent.DrillStopInvoked) { StopDrilling(); _state = _standbyState; } else { ContinueDrilling(); } }
// Use this for initialization void Start() { instance = this; }