public void RemoveFriendlyAI(FriendlyAI ai) { if (activeAIs.Contains(ai)) { activeAIs.Remove(ai); } }
private void Update() { foreach (GameObject contract in currentContracts) { FriendlyAI thisAi = contract.GetComponent <FriendlyAI>(); if (thisAi != null) { thisAi.SetShouldMove(mousePos.mouseDown); } } }
/* Bring the contract inside the ship */ public void ImportContract(FriendlyAI contract) { //Update score int ThisScore = 0; switch (contract.GetContractWorth()) { case ContractWorthAmount.TEN_K_WORTH: ThisScore = 10000; break; case ContractWorthAmount.TWENTY_K_WORTH: ThisScore = 20000; break; case ContractWorthAmount.FIFTY_K_WORTH: ThisScore = 50000; break; case ContractWorthAmount.SEVENTY_K_WORTH: ThisScore = 75000; break; } PlayerScore.Instance.Score += ThisScore; //Increase ship size WorldScaleManager.Instance.AddScale(ThisScore == 0 ? 0 : ThisScore / 10); //Work out how many contracts are in centre of ship, and don't spawn if we're at max int ContractsInCentre = 0; foreach (GameObject InShip in ContractsInside) { if (InShip.GetComponent <ContractInShip>().Assignee == ContractAssignee.NONE) { ContractsInCentre++; } } if (ContractsInCentre == 4) { Debug.LogWarning("Contract can't enter ship - no space!"); return; } //We're not at max, spawn in centre GameObject OnBoardContract = Instantiate(friendlyObject, ContractSpawnSpot.Find(ContractsInCentre.ToString())) as GameObject; OnBoardContract.transform.localScale = new Vector3(1, 1, 1); OnBoardContract.GetComponent <ContractInShip>().ResourceRemaining = contract.GetContractValue(); OnBoardContract.GetComponent <ContractInShip>().ResourceMax = contract.GetContractValue(); OnBoardContract.GetComponent <ContractInShip>().SetContractWorth(contract.GetContractWorth()); OnBoardContract.transform.parent = ContractSpawnSpot.transform; ContractsInside.Add(OnBoardContract); }
private void OnCollisionEnter(Collision collision) { IDamageable damageable = collision.gameObject.GetComponent <IDamageable>(); FriendlyAI friendlyAI = collision.gameObject.GetComponent <FriendlyAI>(); if (damageable != null && friendlyAI == null) { damageable.TakeDamage(bulletDamage); } Instantiate(explision, transform.position, Quaternion.identity); Destroy(gameObject, 0.1f); }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static IEnumerator Customization(GameObject gameObject, MeshFilter bodyLod0, MeshFilter eyeLod0, MeshFilter bodyLod1, MeshFilter eyeLod1, GameObject particlesDead, float eyeLod0UvX) { //-------------- FriendlyAI friendlyAI = gameObject.GetComponent <FriendlyAI>(); bool trigger0 = false, trigger1 = false; //-------------- while (friendlyAI.dead == false) { yield return(delay0); if (friendlyAI.aiAgr == true) { if (trigger0 == false) { trigger0 = true; trigger1 = false; Class_AdditionalTools.UvMesh(eyeLod0.mesh, 0.85f, 0.25f); Class_AdditionalTools.UvMesh(eyeLod1.mesh, 0.85f, 0.25f); } } else { if (trigger1 == false) { trigger0 = false; trigger1 = true; Class_AdditionalTools.UvMesh(eyeLod0.mesh, eyeLod0UvX, 0.4f); Class_AdditionalTools.UvMesh(eyeLod1.mesh, eyeLod0UvX, 0.4f); } } } //-------------- if (friendlyAI.dead == true) { Class_AdditionalTools.UvMesh(bodyLod0.mesh, 0.15f, 0.04f); Class_AdditionalTools.UvMesh(bodyLod1.mesh, 0.15f, 0.04f); Class_AdditionalTools.UvMesh(eyeLod0.mesh, 0.85f, 0.04f); Class_AdditionalTools.UvMesh(eyeLod1.mesh, 0.85f, 0.04f); particlesDead.SetActive(true); yield return(delay1); particlesDead.SetActive(false); } //-------------- }
private void OnTriggerEnter2D(Collider2D collision) { if (mousePos.mouseDown && checkForContracts.currentContracts.Contains(collision.gameObject) && collision.GetComponent <FriendlyAI>().GetWidth() <= transform.localScale.x) { FriendlyAI thisAI = collision.gameObject.GetComponent <FriendlyAI>(); if (thisAI) { ShipResourceManagement.Instance.ImportContract(thisAI); Instantiate(PoofFX, collision.gameObject.transform.position, Quaternion.identity); GameObject.Destroy(collision.gameObject); goodSuccSound.Stop(); } } }
IEnumerator WaitExplosion() { playerController.SetCutscene(true); FriendlyAI friendlyObj = GameObject.FindObjectOfType <FriendlyAI>(); friendlyObj.SetMove(friendlyLastPos1.position); friendlyObj.transform.gameObject.layer = 14; yield return(new WaitForSeconds(1.5f)); friendlyObj.transform.GetComponent <Animator>().enabled = false; friendlyObj.enabled = false; crowdAudio.Stop(); explosion.Explode(); yield return(new WaitForSeconds(8f)); playerController.SetLastQuestion(); Destroy(this.gameObject); }
public override void ActivateAbility() { base.ActivateAbility(); for (int i = 0; i < amountToSpawn; i++) { int spawnIndex = (i + 1) % spawnpoints.Length; FriendlyAI ai = Instantiate(aiToSpawn, spawnpoints[spawnIndex].position, spawnpoints[spawnIndex].rotation); activeAIs.Add(ai); for (int j = 0; j < GetActiveModules().Count; j++) { ai.SetModule(GetActiveModules()[i]); } } RemoveModules(); TriggerCooldown(); }
private Transform quad; // voor de minimap icon private void Awake() { GameObject gh = GameObject.Find("GameHandler"); worldObject = GetComponent <WorldObject>(); enemyAI = GetComponent <EnemyAI>(); friendlyAI = GetComponent <FriendlyAI>(); if (enemyAI != null) { isEnemy = true; } gameHandler = gh.GetComponent <GameHandler>(); guiHandler = gh.GetComponent <GUIHandler>(); inventory = GetComponent <Inventory>(); healthSystem = new HealthSystem(20, 20); NPCSetActive(false); MiniMapInit(); }
IEnumerator WaitExit() { Destroy(patientControl); pController.SetCutscene(true); teleportPlayer.SetActive(false); pController.StartAudio(audioExit); pController.transform.root.position = teleportPos.position; collider.enabled = false; Destroy(this.gameObject, audioExit.length + 1f); stage2.SetActive(true); FriendlyAI friendlyObj = GameObject.FindObjectOfType <FriendlyAI>(); friendlyObj.SetMove(beforeExpPos.position); yield return(new WaitForSeconds(audioExit.length)); RaycastHand.inCutscene = false; blockPlayer.SetActive(true); teleportPlayer.SetActive(true); pController.SetCutscene(false); }
void Start() { healthButton = GetComponent <Button>(); friendlyAI = FindObjectOfType <FriendlyAI>(); }