Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
 public void InitDynaMesh(C_Attack attackScript, DamageCollider damageColliderScript, int damageToDeal)
 {
     m_attackScript          = attackScript;
     m_damagerColliderScript = damageColliderScript;
     m_damageTicksToDeal     = damageToDeal;
 }