Beispiel #1
0
        public override void Update()
        {
            m_frameCount++;
              h_dispatchKey();

              base.Update();

              IEnumerable<BaseActor> killedActors = CollisionChecher.GetAllCollisions(Actors);

              foreach (BaseActor killedActor in killedActors)
              {
            if (killedActor.IsAlive)
              killedActor.IsAlive = false;
              }

              List<BaseActor> toRemove = Actors.Where(actor => actor.CanDrop).ToList();
              BaseActor[] actors = new BaseActor[toRemove.Count()];
              toRemove.CopyTo(actors);

              foreach (BaseActor actor in actors.Where(actor => actor.CanDrop))
              {
            Actors.Remove(actor);
              }

              if (Player.CanDrop)
            Failed = true;

              //has no enemy
              if (Actors.All(actor => actor.ActorType != ActorType.Enemy))
            Success = true;
        }
Beispiel #2
0
        public override void Update()
        {
            m_frameCount++;
              h_dispatchKey();
              t_TimeEnemyBul();

              base.Update();

              IEnumerable<BaseActor> killedActors = CollisionChecher.GetAllCollisions(Actors.Where((actor)=>actor.IsAlive).ToList());// отфильтровал уже убитых врагов.

              foreach (BaseActor killedActor in killedActors)
              {
            if (killedActor.IsAlive)
              killedActor.IsAlive = false;
              }

              List<BaseActor> toRemove = Actors.Where(actor => actor.CanDrop).ToList();
              BaseActor[] actors = new BaseActor[toRemove.Count()];
              toRemove.CopyTo(actors);

              foreach (BaseActor actor in actors.Where(actor => actor.CanDrop))
              {
            Actors.Remove(actor);
              }

              if (Player.CanDrop)
            Failed = true;

              //has no enemy
              //if (Actors.All(actor => actor.ActorType != ActorType.Enemy))
              if (Actors.Where((actor) => actor is Ship || actor is Ships111).ToList().Count == 0)
            Success = true;
        }