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); } } }
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; } }