示例#1
0
        public EnemyEntity(EggGameScreen gameScreen, Clip clip,
            Vector2 position, Vector2 scale, float rotation)
            : base(gameScreen, clip, position, scale, rotation, PHYSICS_OFFSET, PHYSICS_RADIUS)
        {
            // Calculate what entity type to attack.
            CurrentState = State.WanderAimless;
            MovementSpeed = SLOW_SPEED;
            EntityType = Type.Enemy;
            HitPlayer = false;
            HitEgg = false;

            DynamicBody.OnCollision += CollisionHandler;
            FindNearestTarget();

            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Left)] = clip.AnimSet["walk-left"];
            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Right)] = clip.AnimSet["walk-right"];
            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Up)] = clip.AnimSet["walk-up"];
            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Down)] = clip.AnimSet["walk-down"];

            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Left)] = clip.AnimSet["sucked-right"];
            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Right)] = clip.AnimSet["sucked-left"];
            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Up)] = clip.AnimSet["sucked-down"];
            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Down)] = clip.AnimSet["sucked-up"];

            PlayNewEnemyAnimation();
        }
示例#2
0
        public EnemyEntity(EggGameScreen gameScreen, Clip clip,
                           Vector2 position, Vector2 scale, float rotation)
            : base(gameScreen, clip, position, scale, rotation, PHYSICS_OFFSET, PHYSICS_RADIUS)
        {
            // Calculate what entity type to attack.
            CurrentState  = State.WanderAimless;
            MovementSpeed = SLOW_SPEED;
            EntityType    = Type.Enemy;
            HitPlayer     = false;
            HitEgg        = false;


            DynamicBody.OnCollision += CollisionHandler;
            FindNearestTarget();

            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Left)]  = clip.AnimSet["walk-left"];
            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Right)] = clip.AnimSet["walk-right"];
            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Up)]    = clip.AnimSet["walk-up"];
            _animations[new AnimKey(AnimState.Walk, AnimationDirection.Down)]  = clip.AnimSet["walk-down"];

            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Left)]  = clip.AnimSet["sucked-right"];
            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Right)] = clip.AnimSet["sucked-left"];
            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Up)]    = clip.AnimSet["sucked-down"];
            _animations[new AnimKey(AnimState.Sucked, AnimationDirection.Down)]  = clip.AnimSet["sucked-up"];

            PlayNewEnemyAnimation();
        }
示例#3
0
        // TODO: refactor this to use the content manager for retrieving
        // different enemy types ..
        public EnemySpawner(EggGameScreen gameScreen, Clip clip)
        {
            _gameScreen            = gameScreen;
            _secondsSinceLastSpawn = 0f;
            _minDistFromPlayer     = 10f;
            _clip = clip;

            // spawn every 5sec
            SpawnInterval = 5f;
        }
示例#4
0
        // TODO: refactor this to use the content manager for retrieving
        // different enemy types ..
        public EnemySpawner(EggGameScreen gameScreen, Clip clip)
        {
            _gameScreen = gameScreen;
            _secondsSinceLastSpawn = 0f;
            _minDistFromPlayer = 10f;
            _clip = clip;

            // spawn every 5sec
            SpawnInterval = 5f;
        }
        public CharacterEntity(EggGameScreen gameScreen, Clip clip,
            Vector2 position, Vector2 scale, float rotation, Vector2 physicsOffset, float physicsRadius)
        {
            ClipInstance = new ClipInstance(clip);
            GameScreen = gameScreen;
            Position = position; Scale = scale; Rotation = rotation;
            _physicsRadius = physicsRadius;
            _physicsOffset = physicsOffset;
            IsValid = true;

            SetupDynamics();
        }
示例#6
0
        public CharacterEntity(EggGameScreen gameScreen, Clip clip,
                               Vector2 position, Vector2 scale, float rotation, Vector2 physicsOffset, float physicsRadius)
        {
            ClipInstance   = new ClipInstance(clip);
            GameScreen     = gameScreen;
            Position       = position; Scale = scale; Rotation = rotation;
            _physicsRadius = physicsRadius;
            _physicsOffset = physicsOffset;
            IsValid        = true;

            SetupDynamics();
        }
示例#7
0
        public EggEntity(EggGameScreen gameScreen, Clip clip,
                         Vector2 position, Vector2 scale, float rotation)
            : base(gameScreen, clip, position, scale, rotation, PHYSICS_OFFSET, PHYSICS_RADIUS)
        {
            _clip = clip;

            EntityType   = Type.Egg;
            CurrentState = State.Idle;

            InitialiseAnimations();
            PlayNewEggAnimation();

            _sfxExplode = gameScreen.Content.Load <SoundEffect>("Sounds/Explode 1");
        }
示例#8
0
        public PlayerEntity(EggGameScreen gameScreen, Clip clip,
                            Vector2 position, Vector2 scale, float rotation)
            : base(gameScreen, clip, position, scale, rotation, PHYSICS_OFFSET, PHYSICS_RADIUS)
        {
            EntityType = Type.Player;

            _animDirection = AnimationDirection.Right;

            LoadSounds(gameScreen.Content);

            SetupAnimations(clip);

            SwitchToMoving();
        }
示例#9
0
        public EggEntity(EggGameScreen gameScreen, Clip clip,
            Vector2 position, Vector2 scale, float rotation)
            : base(gameScreen, clip, position, scale, rotation, PHYSICS_OFFSET, PHYSICS_RADIUS)
        {
            _clip = clip;

            EntityType = Type.Egg;
            CurrentState = State.Idle;

            InitialiseAnimations();
            PlayNewEggAnimation();

            _sfxExplode = gameScreen.Content.Load<SoundEffect>("Sounds/Explode 1");
        }
示例#10
0
        public PlayerEntity(EggGameScreen gameScreen, Clip clip,
            Vector2 position, Vector2 scale, float rotation)
            : base(gameScreen, clip, position, scale, rotation, PHYSICS_OFFSET, PHYSICS_RADIUS)
        {
            EntityType = Type.Player;

            _animDirection = AnimationDirection.Right;

            LoadSounds(gameScreen.Content);

            SetupAnimations(clip);

            SwitchToMoving();
        }
示例#11
0
 public EnemyEntity(EggGameScreen gameScreen, Clip clip, Vector2 position,
                    Vector2 scale)
     : this(gameScreen, clip, position, scale, 0.0f)
 {
 }
示例#12
0
 public EnemyEntity(EggGameScreen gameScreen, Clip clip, Vector2 position)
     : this(gameScreen, clip, position, new Vector2(1f), 0.0f)
 {
 }
示例#13
0
 public EnemyEntity(EggGameScreen gameScreen, Clip clip)
     : this(gameScreen, clip, new Vector2(), new Vector2(1f), 0.0f)
 {
 }
示例#14
0
 public PlayerEntity(EggGameScreen gameScreen, Clip clip, Vector2 position,
     Vector2 scale)
     : this(gameScreen, clip, position, scale, 0.0f)
 {
 }
示例#15
0
 public PlayerEntity(EggGameScreen gameScreen, Clip clip, Vector2 position)
     : this(gameScreen, clip, position, new Vector2(1f), 0.0f)
 {
 }
示例#16
0
 public PlayerEntity(EggGameScreen gameScreen, Clip clip)
     : this(gameScreen, clip, new Vector2(), new Vector2(1f), 0.0f)
 {
 }
示例#17
0
 public CharacterEntity(EggGameScreen gameScreen, Clip clip, Vector2 position,
     Vector2 scale)
     : this(gameScreen, clip, position, scale, 0.0f, Vector2.Zero, 1.0f)
 {
 }
示例#18
0
 void LoadMainGameScreen(object asyncState)
 {
     _gameScreen = new EggGameScreen(this);
     _inactiveScreens.Add(_gameScreen);
     _startScreen.IsGameLoaded = true;
 }
示例#19
0
 public CharacterEntity(EggGameScreen gameScreen, Clip clip, Vector2 position)
     : this(gameScreen, clip, position, new Vector2(1f), 0.0f, Vector2.Zero, 1.0f)
 {
 }
示例#20
0
 public CharacterEntity(EggGameScreen gameScreen, Clip clip, Vector2 position,
                        Vector2 scale)
     : this(gameScreen, clip, position, scale, 0.0f, Vector2.Zero, 1.0f)
 {
 }
示例#21
0
 void LoadMainGameScreen(object asyncState)
 {
     _gameScreen = new EggGameScreen(this);
     _inactiveScreens.Add(_gameScreen);
     _startScreen.IsGameLoaded = true;
 }
示例#22
0
 public CharacterEntity(EggGameScreen gameScreen, Clip clip, Vector2 position)
     : this(gameScreen, clip, position, new Vector2(1f), 0.0f, Vector2.Zero, 1.0f)
 {
 }