public EnemyEntity(ThrongGameScreen 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.Idle, AnimationDirection.Right)] = clip.AnimSet.CreateSingleAnimSet("idle-left"); _animations[new AnimKey(AnimState.Idle, AnimationDirection.Left)] = clip.AnimSet.CreateSingleAnimSet("right-right"); _animations[new AnimKey(AnimState.Run, AnimationDirection.Right)] = clip.AnimSet.CreateSingleAnimSet("run-right"); _animations[new AnimKey(AnimState.Run, AnimationDirection.Left)] = clip.AnimSet.CreateSingleAnimSet("run-left"); _animations[new AnimKey(AnimState.Attack, AnimationDirection.Right)] = clip.AnimSet.CreateSingleAnimSet("attack-right"); _animations[new AnimKey(AnimState.Attack, AnimationDirection.Left)] = clip.AnimSet.CreateSingleAnimSet("attack-left"); _animations[new AnimKey(AnimState.Hit, AnimationDirection.Right)] = clip.AnimSet.CreateSubSet(true, "hitA-right", "hitB-right", "hitC-right"); _animations[new AnimKey(AnimState.Hit, AnimationDirection.Left)] = clip.AnimSet.CreateSubSet(true, "hitA-left", "hitB-left", "hitC-left"); _animations[new AnimKey(AnimState.Death, AnimationDirection.Right)] = clip.AnimSet.CreateSingleAnimSet("death-right"); _animations[new AnimKey(AnimState.Death, AnimationDirection.Left)] = clip.AnimSet.CreateSingleAnimSet("death-left"); PlayNewEnemyAnimation(); }
// TODO: refactor this to use the content manager for retrieving // different enemy types .. public EnemySpawner(ThrongGameScreen gameScreen, Clip clip) { _gameScreen = gameScreen; _secondsSinceLastSpawn = 0f; _minDistFromPlayer = 10f; _clip = clip; // spawn every 5sec SpawnInterval = 5f; }
public CharacterEntity(ThrongGameScreen 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(); }
public PlayerEntity(ThrongGameScreen 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); SwitchToIdle(); }
public EggEntity(ThrongGameScreen 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"); }
public EggEntity(ThrongGameScreen gameScreen, Clip clip) : this(gameScreen, clip, new Vector2(), new Vector2(1f), 0.0f) { }
public CharacterEntity(ThrongGameScreen gameScreen, Clip clip, Vector2 position, Vector2 scale) : this(gameScreen, clip, position, scale, 0.0f, Vector2.Zero, 1.0f) { }
public CharacterEntity(ThrongGameScreen gameScreen, Clip clip, Vector2 position) : this(gameScreen, clip, position, new Vector2(1f), 0.0f, Vector2.Zero, 1.0f) { }
public EnemyEntity(ThrongGameScreen gameScreen, Clip clip, Vector2 position, Vector2 scale) : this(gameScreen, clip, position, scale, 0.0f) { }
public EnemyEntity(ThrongGameScreen gameScreen, Clip clip) : this(gameScreen, clip, new Vector2(), new Vector2(1f), 0.0f) { }
void LoadMainGameScreen(object asyncState) { _gameScreen = new ThrongGameScreen(this); _inactiveScreens.Add(_gameScreen); _startScreen.IsGameLoaded = true; }
public EnemyEntity(ThrongGameScreen gameScreen, Clip clip, Vector2 position) : this(gameScreen, clip, position, new Vector2(1f), 0.0f) { }
public EggEntity(ThrongGameScreen gameScreen, Clip clip, Vector2 position) : this(gameScreen, clip, position, new Vector2(1f), 0.0f) { }
public EggEntity(ThrongGameScreen gameScreen, Clip clip, Vector2 position, Vector2 scale) : this(gameScreen, clip, position, scale, 0.0f) { }