Esempio n. 1
0
    private void Start()
    {
        map         = FindObjectOfType <MapColumn>();
        myRigidBody = GetComponent <Rigidbody2D>();
        NameSelector nameSelector = FindObjectOfType <NameSelector>();

        entity.SetName(nameSelector.GetRandom("BOSS"));

        gravity = 9.81f;

        Vector3 pos = transform.position;

        pos.x = map.transform.position.x;
        transform.position = pos;
        JumpTo(map.GetNbrColumn() - 1);
        currentTime = intervalSpawn;
    }
Esempio n. 2
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.transform.tag != "Attack")
        {
            return;
        }
        string life = entity.GetValue("LIFE");
        int    l    = 0;

        if (int.TryParse(life, out l))
        {
            l -= other.transform.parent.GetComponent <PlayerController>().GetComponentInChildren <PlayerWeapon>().GetCurrentWeapon().damage;


            AudioSource source = GetComponent <AudioSource>();
            if (source == null)
            {
                source = gameObject.AddComponent <AudioSource>();
            }
            source.clip   = other.transform.parent.GetComponent <PlayerController>().GetComponentInChildren <PlayerWeapon>().GetCurrentWeapon().touch;
            source.loop   = false;
            source.volume = 0.1f;
            if (source.clip != null)
            {
                source.Play();
            }


            int i = 0;
            foreach (GameObject heart in hearts)
            {
                if (i < l)
                {
                    heart.SetActive(true);
                }
                else
                {
                    heart.SetActive(false);
                }
                i++;
            }

            entity.SetValue("LIFE", l.ToString());
            if (l < 1)
            {
                if (enabled)
                {
                    myAnimator.SetTrigger("Dead");
                }
                enabled = false;
                myRigidBody.velocity = new Vector2(0, myRigidBody.velocity.y);
                Instantiate(fx_death, transform.position, Quaternion.identity);
                Instantiate(deathBossGoblin, transform.position, Quaternion.identity);
            }
            else
            {
                Instantiate(fx_hurth, transform.position, Quaternion.identity);
            }
        }
        if (l > 0)
        {
            JumpTo(column == 0 ? map.GetNbrColumn() - 1 : 0);
        }
    }