Example #1
0
 public StaticCamera(Vector2 position, float degrees, Game1 game) : base(game)
 {
     Position = position;
     Sprite   = new AnimatedSprite(null, game, new Vector2(Chunk.TileSize, Chunk.TileSize));
     ViewCone = new ConeEntity(game);
     ViewCone.FromDegrees(degrees, 33);
     ViewCone.Radius = Chunk.TileSize * 999;
     ViewCone.UpdatePosition(position);
 }
Example #2
0
        public void Alert(Vector2 position, Chunk chunk)
        {
            PositionKnown = 2;

            if (State != AIState.Targeting && State != AIState.Searching)
            {
                ViewCone.Radius = 2 * ViewSize;
                ViewCone.FromDegrees(Direction, 30);
            }

            if (Target(position, chunk, AIState.Targeting))
            {
                FinishPath = () =>
                {
                    AlertSignal.Play("alert");
                    ViewCone.SetColor(ConeEntity.AlertColor);
                }
            }
            ;
        }
Example #3
0
 public GroundDrone(Vector2 position, Game1 game) : base(game, new Vector2(Chunk.TileSize / 3, Chunk.TileSize / 2))
 {
     Position    = position;
     Spawn       = position;
     Sprite      = new AnimatedSprite(null, game, new Vector2(32, 32));
     AlertSignal = new AnimatedSprite(null, game, new Vector2(16, 16));
     ViewCone    = new ConeEntity(game)
     {
         Radius = Chunk.TileSize * 6
     };
     ViewCone.FromDegrees(0, 30);
     ViewCone.UpdatePosition(Position);
     Velocity = new Vector2(PatrolSpeed.X, PatrolSpeed.Y);
 }
Example #4
0
        public AerialDrone(Vector2 position, Game1 game) : base(game, new Vector2(Chunk.TileSize / 3, Chunk.TileSize / 6))
        {
            Spawn          = position;
            Position       = position;
            WanderLocation = Position;
            TargetLocation = Position;
            LastTarget     = Position;
            Sprite         = new AnimatedSprite(null, game, new Vector2(32, 32));
            AlertSignal    = new AnimatedSprite(null, game, new Vector2(16, 16));
            ViewCone       = new ConeEntity(game, false);

            Direction = (float)game.RNG.NextDouble() * 2 * (float)Math.PI;

            ViewCone.FromDegrees(0, 50);
            ViewCone.Radius = Chunk.TileSize * 5;
            ViewCone.UpdatePosition(position);
        }