Beispiel #1
0
 // Use this for initialization
 void Start()
 {
     health     = gameObject.GetComponent <DisplayBar3D>();
     controller = GetComponent <CharacterController>();
     knock      = GetComponent <CharacterKnockback>();
     hp         = maxHP;
 }
Beispiel #2
0
 // 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!!!
 }
Beispiel #3
0
    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);
         *
         * }*/
    }
Beispiel #4
0
    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);
                }
            }
        }
    }