Ejemplo n.º 1
0
    void UpdateCollider()
    {
        if (colliderChainIndex < skill.colliderChains.Count)
        {
            EffectCollider effectCollider = skill.colliderChains[colliderChainIndex];
            //  Debug.Log("UpdateCollider " + effectCollider.delay + " <= " + pastTime + " - " + (effectCollider.delay <= pastTime));

            if (effectCollider.delay <= pastTime)
            {
                colliderChainIndex++;
                AddCollider(effectCollider, effectCollider.center == null ?
                            GeneratePositionByType(effectCollider.position).position : effectCollider.center);
            }
        }
    }
Ejemplo n.º 2
0
    void AddCollider(EffectCollider effectCollider, Vector3 position)
    {
        //Debug.Log("AddCollider");
        GameObject          colliderHolder      = GameObject.Instantiate(prafabHolder.ColliderHolder, position, Quaternion.identity);
        SphereCollider      collider            = colliderHolder.AddComponent <SphereCollider>();
        ColliderEventHelper colliderEventHelper = colliderHolder.GetComponent <ColliderEventHelper>();

        colliderEventHelper.timeToLive = effectCollider.duration;

        collider.radius    = effectCollider.radius;
        collider.isTrigger = effectCollider.isTrigger;

        if (effectCollider.isTrigger)
        {
            colliderEventHelper.notifyTriggerEnter += OnTriggerCollider;
        }
        else
        {
            colliderEventHelper.notifyCollisionEnter += OnEnterCollider;
        }
    }