public override void InitialiseEnemies() { int offset = 2; //Enemy 1 Enemy enemy = new Enemy(); List <Vector2> course = new List <Vector2>(); course.Add(new Vector2(LeftBoundary + (offset * Ostacle.Width), TopBoundary + (offset * Ostacle.Height))); course.Add(new Vector2(RightBoundary - (offset * Ostacle.Width), TopBoundary + (offset * Ostacle.Height))); course.Add(new Vector2(RightBoundary - (offset * Ostacle.Width), BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2(LeftBoundary + (offset * Ostacle.Width), BottomBoundary - (offset * Ostacle.Height))); enemy.Initialise(this, Content, graphics, course[0], course); EnemyUnits.Add(enemy); //Enemy 2 offset = 4; enemy = new Enemy(); course = new List <Vector2>(); course.Add(new Vector2(LeftBoundary + (offset * Ostacle.Width), BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2(RightBoundary - (offset * Ostacle.Width), BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2(RightBoundary - (offset * Ostacle.Width), TopBoundary + (offset * Ostacle.Height))); course.Add(new Vector2(LeftBoundary + (offset * Ostacle.Width), TopBoundary + (offset * Ostacle.Height))); enemy.Initialise(this, Content, graphics, course[0], course); EnemyUnits.Add(enemy); }
public MainWindow() { AllyUnits.CollectionChanged += Base_CollectionChanged; EnemyUnits.CollectionChanged += Base_CollectionChanged; for (int i = 0; i < 10; i++) { AllyUnits.Add(new Unit()); EnemyUnits.Add(new Unit()); } foreach (Unit unit in AllyUnits) { unit.SetEnemyUnits(EnemyUnits); unit.SetAllyUnits(AllyUnits); unit.SetPlayerBonus(PlayerBonus); } foreach (Unit unit in EnemyUnits) { unit.SetEnemyUnits(AllyUnits); unit.SetAllyUnits(EnemyUnits); } InitializeComponent(); Ally.ItemsSource = AllyUnits; Enemy.ItemsSource = EnemyUnits; DataContext = PlayerBonus; }
private void Awake() { waveData = GetComponent <WaveData> (); enemyUnits = GetComponentInChildren <EnemyUnits> (); enemyElevators = GetComponentsInChildren <EnemyElevator> (); spawnPoints = GetComponentsInChildren <SpawnPoint>(); }
public Unit[] FindUnitsInRange(Vector2 myPosition, float distance) { IEnumerable <Unit> units = EnemyUnits.Concat(PlayerUnits); Unit[] unitsInRange = units.Select(u => u).Where(u => Vector2.Distance(u.Center, myPosition) <= distance).ToArray( ); return(unitsInRange); }
void OnEntityLost(System.Object obj) { IGameEntity g = ((GameObject)obj).GetComponent <IGameEntity>(); if (g.info.isUnit) { g.unregisterFatalWounds(OnEnemyDied); EnemyUnits.Remove((Unit)g); } }
public void RemoveUnit(Unit unit, ConflicSide side) { if (side == ConflicSide.Player) { PlayerUnits.Remove(unit); } else { EnemyUnits.Remove(unit); } }
public void AddUnit(Unit unit, ConflicSide side) { if (side == ConflicSide.Player) { PlayerUnits.Add(unit); } else { EnemyUnits.Add(unit); } }
public void Remove(Unit unit) { if (unit.hasAuthority && unit.playerId == playerId) { FriendlyUnits.Remove(unit); } else { EnemyUnits.Remove(unit); } }
private void Initialize() { PlayerUnits = GetComponentInChildren <PlayerUnits> (); EnemyUnits = GetComponentInChildren <EnemyUnits> (); EnemyUnits.Init(); _enemySpawners = GetComponentsInChildren <EnemySpawner>(); foreach (var enemySpawner in _enemySpawners) { enemySpawner.Init(EnemyUnits); } #if UNITY_EDITOR if (Global.Instance.CurrentGameData == null) { Global.Instance.CurrentGameData = new GameData() { Level = 1, PlayerDatas = new List <PlayerData>() { new PlayerData() { Controller = InputManager.ControllerType.KeyboardArrow, Id = PlayerData.PlayerId.Player1, Lives = 3, UnitType = PlayerUnit.UnitType.Balanced }, new PlayerData() { Controller = InputManager.ControllerType.KeyboardWasd, Id = PlayerData.PlayerId.Player2, Lives = 3, UnitType = PlayerUnit.UnitType.Heavy } } }; } #endif PlayerUnits.Init(Global.Instance.CurrentGameData.PlayerDatas.ToArray()); InputManager = gameObject.GetOrAddComponent <InputManager> (); InputManager.Init(this, InputManager.ControllerType.KeyboardWasd, InputManager.ControllerType.KeyboardArrow, InputManager.ControllerType.Gamepad1); // All conditions should be parented to LevelManager _conditions = GetComponentsInChildren <ConditionBase> (); foreach (var condition in _conditions) { condition.Init(this); } }
void OnEnemyDied(System.Object obj) { IGameEntity g = ((GameObject)obj).GetComponent <IGameEntity>(); if (g.info.isUnit) { EnemyUnits.Remove((Unit)g); missionStatus.OnUnitKilled(((Unit)g).type); } else if (g.info.isBuilding) { EnemyBuildings.Remove(g); missionStatus.OnBuildingDestroyed(g.getType <Storage.BuildingTypes>()); } }
private void Initialize() { PlayerUnits = GetComponentInChildren <PlayerUnits> (); EnemyUnits = GetComponentInChildren <EnemyUnits> (); EnemyUnits.Init(); // TODO: Get player data from GameManager (new data or saved data) PlayerData playerData = new PlayerData() { Id = PlayerData.PlayerId.Player1, UnitType = PlayerUnit.UnitType.Heavy, Lives = 3 }; PlayerUnits.Init(playerData); }
public override void InitialiseEnemies() { int offset = 2; //Enemy 1 Enemy enemy = new Enemy(); List <Vector2> course = new List <Vector2>(); course.Add(new Vector2(512, 688)); course.Add(new Vector2(512, 944)); course.Add(new Vector2(753, 944)); course.Add(new Vector2(753, 688)); enemy.Initialise(this, Content, graphics, course[0], course); EnemyUnits.Add(enemy); ////Enemy 2 enemy = new Enemy(); course = new List <Vector2>(); course.Add(new Vector2((7 * RightBoundary) / 8, TopBoundary + (offset * Ostacle.Height))); course.Add(new Vector2((7 * RightBoundary) / 8, BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2((5 * RightBoundary) / 8, BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2((5 * RightBoundary) / 8, TopBoundary + (offset * Ostacle.Height))); enemy.Initialise(this, Content, graphics, course[0], course); EnemyUnits.Add(enemy); ////Enemy 3 enemy = new Enemy(); course = new List <Vector2>(); course.Add(new Vector2((7 * RightBoundary) / 8, TopBoundary + (offset * Ostacle.Height))); course.Add(new Vector2((7 * RightBoundary) / 8, BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2((5 * RightBoundary) / 8, BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2((5 * RightBoundary) / 8, TopBoundary + (offset * Ostacle.Height))); enemy.Initialise(this, Content, graphics, course[0], course); EnemyUnits.Add(enemy); ////Enemy 4 enemy = new Enemy(); course = new List <Vector2>(); course.Add(new Vector2(RightBoundary / 8, TopBoundary + (offset * Ostacle.Height))); course.Add(new Vector2((3 * RightBoundary) / 8, TopBoundary + (offset * Ostacle.Height))); course.Add(new Vector2((3 * RightBoundary) / 8, BottomBoundary - (offset * Ostacle.Height))); course.Add(new Vector2(RightBoundary / 8, BottomBoundary - (offset * Ostacle.Height))); enemy.Initialise(this, Content, graphics, course[0], course); EnemyUnits.Add(enemy); }
void OnEntityFound(System.Object obj) { IGameEntity g = ((GameObject)obj).GetComponent <IGameEntity>(); if (g.info.isUnit) { if (!EnemyUnits.Contains((Unit)g)) { g.registerFatalWounds(OnEnemyDied); EnemyUnits.Add((Unit)g); } } else if (g.info.isBuilding) { if (!EnemyBuildings.Contains(g)) { g.registerFatalWounds(OnEnemyDied); EnemyBuildings.Add(g); } } }
protected override void SeeEnemy() { for (int i = 0; i < EnemyUnits.Count; i++) { if (EnemyUnits[i] == null) { EnemyUnits.RemoveAt(i); } direction = EnemyUnits[i].transform.position - this.transform.position; float angle = Vector3.Angle(direction, this.transform.position); if (Physics.Raycast(this.transform.position, transform.TransformDirection(Vector3.forward), out hit) && direction.magnitude < fovDist && angle < fovAngle) { if ((hit.collider.gameObject.tag == "PlayerUnit" || hit.collider.gameObject.tag == "PlayerBase") && (hit.collider.gameObject.tag != "EnemyUnit" || hit.collider.gameObject.tag != "EnemyBase")) { Debug.Log(hit.collider.gameObject.tag.ToString()); currentTarget = hit.collider.gameObject; state = State.attack; } } } }
protected override void Awake() { base.Awake(); enemyUnits = GameObject.FindObjectOfType <EnemyUnits>(); }
public void Init(EnemyUnits enemyUnits) { _enemyUnits = enemyUnits; StartCoroutine(Spawn()); }