// Use this for initialization void Start() { health = gameObject.GetComponent <DisplayBar3D>(); controller = GetComponent <CharacterController>(); knock = GetComponent <CharacterKnockback>(); hp = maxHP; }
// Use this for initialization void Start() { character = GetComponent <CharacterController>(); knockback = GetComponent <CharacterKnockback>(); //RpgDialog.Show("Greetings mighty warrior",null,null); audio2 = gameObject.AddComponent <AudioSource>(); // second clip!!! }
static IEnumerator PlayerDie() { // play sound RPGSounds.Instance.PlayOneShot(RPGSounds.Instance.playerDieClip); // get player: GameObject player = GameObject.FindWithTag("Player"); BasicMove move = player.GetComponent <BasicMove>(); move.enabled = false; // turn off user control CharacterKnockback knock = player.GetComponent <CharacterKnockback>(); knock.enabled = false; // turn off knockback too player.GetComponent <Animation>().CrossFade("Death"); yield return(new WaitForSeconds(player.GetComponent <Animation>()["Death"].length)); // wait for death // run a transition Transition.FadeIn(instance.loseTex, 1); yield return(new WaitForSeconds(1.5f)); // 1 second on, then 1/2 way though the wait // reset animation: player.GetComponent <Animation>().Play("Idle"); // mid transition: respawn RespawnPoint.RespawnPlayer(); playerHp = playerMaxHp; move.enabled = true; // turn on user control knock.enabled = true; // turn on knockback too /* * see http://unitygems.com/coroutines/ * http://www.blog.silentkraken.com/2010/01/23/coroutines-in-unity3d-c-version/ * http://www.altdevblogaday.com/2011/07/07/unity3d-coroutines-in-detail/ * IEnumerator Die() * { * //Wait for the die animation to be 50% complete * yield return StartCoroutine(WaitForAnimation("die",0.5f, true)); * //Drop the enemies on dying pickup * DropPickupItem(); * //Wait for the animation to complete * yield return StartCoroutine(WaitForAnimation("die",1f, false)); * Destroy(gameObject); * * }*/ }
void DoAttack(int dmg) { const float ATTACK_RANGE = 5; // yuck: i need to check all bad guys! GameObject[] enemy = GameObject.FindGameObjectsWithTag("Monster"); for (int i = 0; i < enemy.Length; i++) { if (Vector3.Distance(transform.position, enemy[i].transform.position) < ATTACK_RANGE) { RPGSounds.Instance.PlayHitSound(); Golem g = enemy[i].GetComponent <Golem>(); if (g != null) { g.Damage(dmg); } CharacterKnockback kb = enemy[i].GetComponent <CharacterKnockback>(); if (kb != null) { kb.Knockback(transform.position, enemy[i].transform.position, 5); } } } }