public void UnregisterEnemy(IEnemyController enemy) { if (enemies.Contains(enemy)) { enemies.Remove(enemy); } }
public void RegisterEnemy(IEnemyController enemy) { if (!enemies.Contains(enemy)) { enemies.Add(enemy); } }
private void Awake() { _mapController = gameObject.GetComponent <IMapController>(); _tankController = gameObject.GetComponent <ITankController>(); _inputController = gameObject.GetComponent <IInputController>(); _enemyController = gameObject.GetComponent <IEnemyController>(); }
private void OnCollisionEnter(Collision collision) { if (collision.gameObject.layer == LayerMask.NameToLayer("Player")) { // Damage player - caused by enemy shooting Player.GetInstanceHealth()?.Damage(damage); Score.IncreaseScore(ScoreValues.playerShot); } else if (collision.gameObject.layer == LayerMask.NameToLayer("Enemy")) { Armour armour = collision.gameObject.GetComponent <Armour>(); if (armour != null && armour.IsActive()) { // Damage armour - caused by player shooting armour?.Damage(damage); Score.IncreaseScore(ScoreValues.armouredEnemyShot); } else if (collision.gameObject.CompareTag("Head")) { EnemyHead enemyHead = collision.gameObject.GetComponent <EnemyHead>(); // Kill enemy with 1 shot enemyHead?.KillEnemy(); Score.IncreaseScore(ScoreValues.enemyHeadshot); } else if (collision.gameObject.CompareTag("HeadBoss")) { BossHead enemyHead = collision.gameObject.GetComponent <BossHead>(); // Damage enemy - caused by player shooting enemyHead?.DamageHead(damage); Score.IncreaseScore(ScoreValues.enemyHeadshot); } else { IEnemyController enemyController = collision.gameObject.GetComponent <IEnemyController>(); // Damage enemy - caused by player shooting enemyController?.DamageEnemy(damage); Score.IncreaseScore(ScoreValues.enemyShot); } } else if (collision.gameObject.layer == LayerMask.NameToLayer("Cover")) { Health coverHealth = collision.gameObject.GetComponent <Health>(); // Damage cover - caused by enemy shooting coverHealth?.Damage(damage); } // Destroy Bullet Destroy(gameObject); }
private void Awake() { _inputSystem = GetComponent <IInputSystem>(); _playerController = GetComponent <IPlayerController>(); _enemyController = GetComponent <IEnemyController>(); _uiController = GetComponent <IUiController>(); _inputSystem.OnEscape = OnEscape; _inputSystem.OnEscapeUp = () => _timeBeforeQuit = 0; _status = GameStatus.Start; }
public GameplayController(ILevelSetter levelSetter, IEnemyController enemyController, IHealthController healthController, IGoldController goldController, ITowerController towerController, IObjectPooler objectPooler) { _levelSetter = levelSetter; _enemyController = enemyController; _healthController = healthController; _goldController = goldController; _towerController = towerController; _objectPooler = objectPooler; _healthController.HealthIsZero += EndGame; }
private bool CheckForEnemyPresence(IEnemyController enemyController, int nodeID) { if (nodeID == -1) { return(false); } if (enemyList.Count == 0) { return(false); } return(enemyController.GetCurrentNodeID() == nodeID); }
private void OnCollisionEnter(Collision other) { if (other.collider.tag == "Moving_Platform") { print("enter platform :)" + other.collider.name); this.transform.parent = other.collider.transform; _parentCount++; } if (other.collider.tag == "Enemy") { _enemyController = other.collider.GetComponent <IEnemyController>(); _enemyController.Damage(this.gameObject); } }
async private Task PerformMovement() { if (enemyList.Count == 0) { if (!playerService.PlayerDeathStatus()) { gameService.ChangeToPlayerState(); } return; } List <IEnemyController> KillableEnemies = new List <IEnemyController>(); List <Task> taskToKill = new List <Task>(); Task moveTask; for (int i = 0; i < enemyList.Count; i++) { IEnemyController controller = enemyList[i]; if (!playerService.PlayerDeathStatus()) { if (CheckForEnemyPresence(controller, playerService.GetPlayerNodeID()) && CheckForKillablePlayer(controller.GetEnemyType())) { KillableEnemies.Add(controller); continue; } else { moveTask = controller.Move(); moveTaskList.Add(moveTask); } } } await Task.WhenAll(moveTaskList.ToArray()); moveTaskList.Clear(); IEnemyController controllerToKill; for (int i = 0; i < KillableEnemies.Count; i++) { controllerToKill = KillableEnemies[i]; KillEnemy(controllerToKill); } if (!playerService.PlayerDeathStatus()) { gameService.ChangeToPlayerState(); } }
/// <summary> /// Spawns the team AI entities from the spawn managers. /// </summary> private void SpawnEnemyEntities() { // Test spawn GameObject spawnedDroid = Instantiate(gameManager.enemySettings.droidSentryPrefab, transform.position, Quaternion.identity); IAssignSceneActorTracker assignTracker = spawnedDroid.GetComponent <IAssignSceneActorTracker>(); assignTracker.SetSceneActorTracker(actorTracker); actorTracker.RegisterEnemyEntity(spawnedDroid); IEnemyController enemyController = spawnedDroid.GetComponent <IEnemyController>(); enemyController.InitialiseController(); }
private void OnParticleCollision(GameObject other) { if (other.tag == "Enemy") { _enemyController = other.GetComponent <IEnemyController>(); _enemyController.EnemyHealth(); gameObject.SetActive(false); } if (other.tag == "Stick") { _stickController = other.GetComponent <IStickContoller>(); _stickController.BurnTheStick(); } }
async private void KillEnemy(IEnemyController controllerToKill) { if (controllerToKill.GetEnemyType() == EnemyType.DOGS) { starService.DogsKilled(); } await controllerToKill.PlayAnimation(EnemyStates.DEATH); enemyList.Remove(controllerToKill); controllerToKill.Reset(); signalBus.TryFire(new EnemyDeathSignal() { nodeID = controllerToKill.GetCurrentNodeID() }); }
async public void EnemyDead(EnemyKillSignal _killSignal) { var tempList = enemyList; for (int i = 0; i < tempList.Count; i++) { IEnemyController enemyController = tempList[i]; if (enemyController.GetCurrentNodeID() == _killSignal.nodeID) { if (CheckForKillableEnemy(enemyController, _killSignal.killMode)) { enemyList.Remove(enemyController); await enemyController.PlayAnimation(EnemyStates.DEATH); enemyController.Reset(); } } } bool allDogsKilled = true; foreach (IEnemyController enemyController in enemyList) { if (enemyController.GetEnemyType() == EnemyType.DOGS) { allDogsKilled = false; } } if (allDogsKilled) { starService.AllDogsKilled(); } if (enemyList.Count == 0) { starService.AllDogsKilled(); gameService.ChangeToPlayerState(); } await new WaitForEndOfFrame(); }
private bool CheckForKillableEnemy(IEnemyController controller, KillMode killMode) { return(controller.IsKillable(killMode)); }
public void SetCallbacks(ILevelSetter levelSetter, IEnemyController enemyController, GameplayController gameplayController) { levelSetter.DataLoaded += SetSpawnPosition; enemyController.NewWave += SpawnWave; gameplayController.GameEnded += StopSpawning; }
[SetUp] public void Init() { iEnemy = GetEnemyMock (); iEnemy.SetTag ().Returns ("Dead"); eController = GetControllerMock (iEnemy); }
void Awake() { seeker = GetComponent <Seeker>(); controller = GetComponent <IEnemyController>(); }
public EnemyController(IEnemyController concreteEnemyController) { enemyController = concreteEnemyController; }
public void SetCurrentController(IEnemyController controller) { enemyController = controller; }
public GameView(IShipController tankController, IEnemyController enemyController) { _shipController = tankController; _enemyController = enemyController; }
public TargetInfo(IEnemyController controller, float distance) { this.controller = controller; this.distance = distance; }
private EnemyCtrlController GetControllerMock(IEnemyController iEnemy) { var eController = Substitute.For<EnemyCtrlController> (); eController.SetEnemyController (iEnemy); return eController; }
public void SetEnemyController(IEnemyController enemyController) { this.enemyController = enemyController; }