Esempio n. 1
0
 public void Update(UnitOperationType operation)
 {
     if (operation != UnitOperationType.None)
     {
         performingOperation = CreateUnitOperation(operation);
         performingOperation.StartOperation();
     }
     if (performingOperation != null)
     {
         performingOperation.DoneAdd();
         if (performingOperation.Done == performingOperation.NeedDone)
         {
             performingOperation.FinalizeOperation();
             performingOperation = null;
         }
     }
 }
Esempio n. 2
0
        private UnitOperation CreateUnitOperation(UnitOperationType type)
        {
            switch (type)
            {
            case UnitOperationType.Move:
                return(new Move(this));

            case UnitOperationType.Mine:
                return(new Mine(this));

            case UnitOperationType.RangeHit:
                return(new RangeHit(this));

            case UnitOperationType.MeleeHit:
                return(new MeleeHit(this));

            case UnitOperationType.BuildStart:
                return(new BuildStart(this));

            case UnitOperationType.Repair:
                return(new Repair(this));
            }
            return(null);
        }