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();
     }
 }
Example #6
0
 // Use this for initialization
 void Start()
 {
     instance = this;
 }