void OnTriggerExit(Collider col) { StopAllCoroutines(); if (col.tag == "Player") { customCharController player = col.transform.GetComponent <customCharController>(); if (player != null && player.isDead != true) { isCausingDamage = false; } if (col.tag == "tent") { isCausingDamage = false; } } agent.SetDestination(mainBase.transform.position); if (col.transform.tag == "tent") { BaseScript baseScript = col.transform.GetComponent <BaseScript>(); if (baseScript != null) { isCausingDamage = false; } } }
public override void performAction() { pursuedPlayer = GetComponentInParent <CanSeePlayer>().pursuedPlayers[0]; isCausingDamage = true; anim.SetBool("run", false); agent.SetDestination(transform.position); customCharController controller = pursuedPlayer.GetComponentInParent <customCharController>(); if (controller != null && controller.isDead != true) { agent.SetDestination(transform.position); ////SetEnemyRotation //var lookPos = pursuedPlayer.transform.position - transform.position; //lookPos.y = 0; //var rotation = Quaternion.LookRotation(lookPos); //transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * 30f); anim.SetBool("run", false); if (canAttackFlag == true) { StartCoroutine(TakeDamage(controller, damageRepeatRate)); } canAttackFlag = false; } }
void OnTriggerStay(Collider col) { customCharController player = col.transform.GetComponent <customCharController>(); if (player != null && player.isDead == true) { agent.SetDestination(mainBase.transform.position); } }
protected override bool isValid() { if (pursuedPlayers.Count > 0) { customCharController playerController = pursuedPlayers[0].GetComponent <customCharController>(); return(playerController.isPursued && playerController.isDead != true); } return(false); }
public void CloseMessagePanel(customCharController player) { GameObject mPannel = findCurrentPanelByPlayer(player); if (mPannel != null) { mPannel.SetActive(false); mIsMessagePanelOpened = false; } }
private void OnTriggerExit(Collider other) { //GameObject player = other.gameObject; customCharController player = other.GetComponent <customCharController>(); if (player != null) { Hud.CloseMessagePanel(player); } }
private void OnTriggerEnter(Collider other) { //other.gameObject; //GameObject player = other.gameObject; customCharController player = other.GetComponent <customCharController>(); if (player != null) { Hud.OpenMessagePanel(player, InteractText); } /*customCharController player = other.GetComponent<customCharController>(); */ }
private void OnTriggerEnter(Collider other) { customCharController player = other.GetComponent <customCharController>(); if (player != null) { //OnPickup(); player.addItemPlayer(this); //Hud.OpenMessagePanel(player, InteractText); } /*customCharController player = other.GetComponent<customCharController>(); */ }
//Tower stuff // Use this for initialization void OnEnable() { index = (int)char.GetNumericValue(this.tag[6]) - 1; showTower = new bool[4]; //int val = (int)Char.GetNumericValue('8'); Debug.Log(showTower[index]); controller = GetComponent <customCharController>(); controller.OnTowerPlacementMechanicActive += HandleTowerPlacementMechanic; tower = this.transform.GetChild(3).gameObject; tower.GetComponent <TowerBehaviour>().enabled = false; tower.SetActive(false); }
IEnumerator TakeDamage(customCharController controller, float damageRepeatRate) { canAttackFlag = false; anim.SetTrigger("attack_1"); yield return(new WaitForSeconds(hitDelay)); //RaycastHit hit; pursuedPlayer.GetComponent <customCharController>().TakeDamge(damage); TakeDamage(controller, damageRepeatRate); yield return(new WaitForSeconds(damageRepeatRate)); canAttackFlag = true; }
public void OpenMessagePanel(customCharController player, string gameText) { GameObject mPannel = findCurrentPanelByPlayer(player); if (mPannel != null) { mPannel.SetActive(true); Text mpText = mPannel.transform.Find("Text").GetComponent <Text>(); mpText.text = gameText; mIsMessagePanelOpened = true; } }
IEnumerator TakeDamage(customCharController controller, float damageRepeatRate) { while (isCausingDamage && controller.isDead != true && restartCoroutine == true) { anim.SetTrigger("attack_1"); yield return(new WaitForSeconds(hitDelay)); RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, rayRange)) { hit.transform.GetComponent <customCharController>().TakeDamge(damage); } TakeDamage(controller, damageRepeatRate); yield return(new WaitForSeconds(damageRepeatRate)); } }
private GameObject findCurrentPanelByPlayer(customCharController player) { if (player.tag == "Player1") { return(Player1MessagePanel); } if (player.tag == "Player2") { return(Player2MessagePanel); } if (player.tag == "Player3") { return(Player3MessagePanel); } if (player.tag == "Player4") { return(Player4MessagePanel); } return(null); }
public override void performAction() { pursuedPlayer = GetComponentInParent <CanSeePlayer>().pursuedPlayers[0]; isCausingDamage = true; anim.SetBool("run", false); agent.SetDestination(transform.position); customCharController controller = pursuedPlayer.GetComponentInParent <customCharController>(); if (controller != null && controller.isDead != true) { agent.SetDestination(transform.position); anim.SetBool("run", false); if (canAttackFlag == true) { StartCoroutine(TakeDamage(controller, damageRepeatRate)); } canAttackFlag = false; } }
IEnumerator TakeDamage(customCharController controller, float damageRepeatRate) { canAttackFlag = false; anim.SetTrigger("attack_1"); this.transform.LookAt(pursuedPlayer.transform.position); yield return(new WaitForSeconds(hitDelay)); RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, 2.5f)) { hit.transform.GetComponent <customCharController>().TakeDamage(damage); } Debug.Log("this"); TakeDamage(controller, damageRepeatRate); yield return(new WaitForSeconds(damageRepeatRate)); canAttackFlag = true; }
void OnTriggerEnter(Collider col) { isCausingDamage = true; if (col.transform.tag == "Player") { customCharController player = col.transform.GetComponent <customCharController>(); if (player != null && player.isDead != true) { if (repeating) { StartCoroutine(TakeDamage(player, damageRepeatRate)); } else { player.TakeDamge(damage); } } } if (col.transform.tag == "tent") { Debug.Log("I have collided with the tent"); BaseScript baseScript = col.transform.GetComponentInParent <BaseScript>(); if (baseScript != null && baseScript.isDestroyed != true) { agent.SetDestination(transform.position); anim.SetBool("run", false); if (repeating) { StartCoroutine(TakeDamage(baseScript, damageRepeatRate)); } else { baseScript.TakeDamage(damage); } } } }