private void OnCollisionEnter(Collision other) { if (other.gameObject.CompareTag("Enemy")) { Debug.Log("Bot Bullet touched enemy "); EnemyController ectrl = other.gameObject.GetComponent <EnemyController>(); ectrl.Destroy(); } else if (other.gameObject.CompareTag("Player")) { Debug.Log("Bot Bullet touched Player "); PlayerBotController pBCtrl = other.gameObject.GetComponent <PlayerBotController>(); if (pBCtrl) { pBCtrl.Destroy(id); } else { PlayerController pc = other.gameObject.GetComponent <PlayerController>(); if (pc) { pc.Destroy(id); } else { Debug.Log("Bullet Bot Controller : Invalid Player tag type was touched"); } } } Destroy(); }
public IEnumerator TestShipCreation() { yield return(SceneManager.LoadSceneAsync("TestScene", LoadSceneMode.Single)); SceneManager.SetActiveScene(SceneManager.GetSceneByName("TestScene")); // Test for player death yield return(new WaitUntil(() => Time.frameCount > 1)); GameObject player = GameObject.Find("Player(Clone)"); Assert.AreNotEqual(player, null); PlayerSave playerSave = player.GetComponentInChildren <PlayerSave>(); Assert.AreNotEqual(playerSave, null); Guid playerId = playerSave.Id; Vector3 playerPosition = player.transform.position; yield return(new WaitUntil(() => player == null)); int frameCount = Time.frameCount; // Wait some time for the game to reboot yield return(new WaitUntil(() => Time.frameCount > frameCount + 5)); // Check if the player ghost was properly created Assert.Greater(Pool.Instance.PlayerBotList.Count, 0); GameObject playerBot = Pool.Instance.PlayerBotList[0]; PlayerBotController playerBotController = playerBot.GetComponent <PlayerBotController>(); Assert.AreEqual(playerId, playerBotController.Id); Assert.AreEqual(playerPosition, playerBot.transform.position); yield return(SceneManager.UnloadSceneAsync("TestScene")); }
private void OnCollisionEnter(Collision other) { if (other.gameObject.CompareTag("Enemy")) { Debug.Log("Bot Bullet touched enemy "); EnemyController ectrl = other.gameObject.GetComponent <EnemyController>(); ectrl.Destroy(); GameObject parentObject = GameObjectStateManager.Instance.getParent(id); if (parentObject) { Ship controler = parentObject.GetComponent <Ship>(); if (controler && !controler.IsPlayer) { controler.addRewardOnKill(); } } } else if (other.gameObject.CompareTag("Player")) { Debug.Log("Bot Bullet touched Player "); PlayerBotController pBCtrl = other.gameObject.GetComponent <PlayerBotController>(); if (pBCtrl) { pBCtrl.Destroy(id); } else { Ship pc = other.gameObject.GetComponent <Ship>(); if (pc) { pc.Destroy(id); } else { Debug.Log("BulletController : Invalid Player tag type was touched"); } } } Destroy(); }