Exemplo n.º 1
0
        public bool TryAddWorker(Creature creature)
        {
            if (Workers.Count + _addEuque.Count() + 1 > WorkerPlaces)
                return false;

            _addEuque.Enqueue(creature);

            return true;
        }
Exemplo n.º 2
0
        protected override bool DoWork(Creature creature, float dt)
        {
            if (creature.ResoursesStorage.CheckResourse(Resourses.Wood) <= 0)
            {
                creature.CreatureState = CreatureState.Idle;
                Remove(creature);
                return false;

            }

            Elapsed += dt;

            if(Elapsed >= NeedTime)
            {
                Elapsed -= NeedTime;
                creature.ResoursesStorage.AddResourse(Resourses.Board, 1);
                creature.ResoursesStorage.DiscardResourse(Resourses.Wood, 1);
            }
            return true;
        }
Exemplo n.º 3
0
 public void Remove(Creature creature)
 {
     _deleteEuque.Enqueue(creature);
 }
Exemplo n.º 4
0
 public bool IsOnWork(Creature creature)
 {
     return Workers.Any(p => p == creature);
 }
Exemplo n.º 5
0
 protected abstract bool DoWork(Creature creature, float dt);
Exemplo n.º 6
0
 protected override bool DoWork(Creature creature, float dt)
 {
     return false;
 }