Ejemplo n.º 1
0
        public Mob(Level level, IMobBehaviour behaviour, Position startPosition,
                   CharacterStatistics statistics, bool confused = false) : base(startPosition)
        {
            Id = ++lastId;

            this.level        = level;
            Behaviour         = behaviour;
            originalBehaviour = behaviour;
            this.statistics   = statistics;

            if (confused)
            {
                BecomeConfused();
            }
        }
Ejemplo n.º 2
0
        public override void BecomeConfused()
        {
            if (!cancelled)
            {
                return;
            }
            cancelled = false;
            Task.Delay(ConfusionTimeMs, cancellation.Token).ContinueWith(t =>
            {
                if (cancelled)
                {
                    return;
                }

                Behaviour = originalBehaviour;
                cancelled = true;
            });

            Behaviour = new ConfusedMobBehaviour();
        }
Ejemplo n.º 3
0
 public NetworkMob(Level level, IMobBehaviour behaviour, Position startPosition,
                   CharacterStatistics statistics, bool confused = false) :
     base(level, behaviour, startPosition, statistics, confused)
 {
 }