Ejemplo n.º 1
0
    public void OnCollisionEnter(Collision other)
    {
        if (other.collider != ownerCollider)
        {
            GameObject go = other.collider.gameObject;
            Debug.Log("trigger enter" + go.name);
            if (!masterScript.HitEnemies.Contains(go) && !masterScript.HitAllies.Contains(go))
            {
                ShieldCollider sc = go.GetComponent <ShieldCollider>();
                if (sc != null)
                {
                    Debug.Log("hit shield");
                    // add the shield's characterstatus gameobject to hitenemies
                }

                CharacterStatus cs = go.GetComponent <CharacterStatus>();
                if (cs != null)
                {
                    masterScript.HitEnemies.Add(go);
                    masterScript.HitEnemy(cs);

                    Debug.Log("I JUST HIT SOMETHING");
                }
            }
        }
    }
Ejemplo n.º 2
0
    public override void Action(GameObject user, Ability ability)
    {
        if (user.transform.FindChild("Shield"))
        {
            GameObject s = user.transform.FindChild("Shield").gameObject;
            s.GetComponent <ShieldCollider>().DestroyGO(s);
        }
        Animator anim = user.GetComponent <Animator>();

        anim.SetTrigger("isAttacking");

        Vector3 userPos = new Vector3(user.transform.position.x, user.transform.position.y, 0);

        GameObject shield = GameObject.Instantiate(prefab, userPos, Quaternion.identity) as GameObject;

        shield.transform.parent = user.transform;
        shield.transform.name   = prefab.name;
        shielded = true;
        // pass parameters
        ShieldCollider col = shield.GetComponent <ShieldCollider>();

        col.User = user;
        col.Action(ability);
    }