public void InitCollider(int damageToDeal, C_Attack attackScript) { m_curVerts = new Vector3[8]; m_lastVerts = new Vector3[8]; // Create new list for collider m_enemiesDamaged = new List <GameObject> (); // Bring damage in from the scriptable object m_damageTicksToDeal = damageToDeal; // Store the attack script reference for interrupts and callbacks m_attackScript = attackScript; // Set up dynamic mesh collider (heavy) if (m_useDynamicMeshCollider) { // Disable the basic collider shape (uncessary processing otherwise and can cause weird results) GetComponent <Collider> ().enabled = false; m_colliderContainer = new GameObject("Sword_Col_Container", typeof(MeshCollider), typeof(DynamicDamageMesh)); m_colliderContainer.transform.position = Vector3.zero; m_colliderContainer.transform.rotation = Quaternion.identity; // Get the container's collider and set it to convex m_collider = m_colliderContainer.GetComponent <MeshCollider> (); // Set the collision layer m_colliderContainer.layer = LayerMask.NameToLayer("SwordCollider"); // Set to convex hull m_collider.convex = true; // Set to act as trigger m_collider.isTrigger = true; // Disable by default m_colliderContainer.SetActive(false); } }
public void InitDynaMesh(C_Attack attackScript, DamageCollider damageColliderScript, int damageToDeal) { m_attackScript = attackScript; m_damagerColliderScript = damageColliderScript; m_damageTicksToDeal = damageToDeal; }