// We do what Light Collider does, but only once on start.
    void Start()
    {
        Vector2[] directions = new Vector2[numVertices];
        int       layerMask;

        lines        = GetComponent <LineRenderer>();
        polyCollider = GetComponent <PolygonCollider2D>();

        if (lines != null)
        {
            lines.positionCount = numVertices;
        }

        directions = new Vector2[numVertices];

        for (int i = 0; i < numVertices; i++)
        {
            directions[i] = new Vector2(
                Mathf.Cos((float)i * (2 * Mathf.PI / (float)numVertices)),
                Mathf.Sin((float)i * (2 * Mathf.PI / (float)numVertices))
                );
        }

        layerMask = (int)0x7FFFFFFF;

        for (int i = 0; i < avoidLayers.Length; i++)
        {
            layerMask ^= (1 << avoidLayers[i]);
        }

        //Setup our poly collider and line renderers
        LightCollider.UpdateCollider(lines, polyCollider, transform, directions, layerMask, maxDistance);
    }
    //Onhit will get called by the Player and Enemy projectiles

    public virtual void onHit(LightCollider proj, float damage)
    {
        if (this.tag != Constants.PLAYER_STRING)
        {
            m_Health -= damage;
        }
    }
 public override void onHit(LightCollider proj, float damage)
 {
     if (this.tag != Constants.PLAYER_STRING)
     {
         m_Health -= damage;
         if(!m_HasAlreadyDead)
             m_Animator.playAnimation(AnimatorMusicalMortar.Animations.Hit);
     }
 }
    public override void onHit(LightCollider proj, float damage)
    {
        m_Health -= 1;

        if(m_Health >= 0)
            DestroyGroup (m_Groups [(int)m_Health]);

        if (m_Health <= 0)
            onDeath ();
    }
Beispiel #5
0
 public override void onHit(LightCollider proj, float damage)
 {
     if (this.tag != Constants.PLAYER_STRING)
     {
         m_Health -= damage;
         if (!m_HasAlreadyDead)
         {
             m_Animator.playAnimation(AnimatorMusicalMortar.Animations.Hit);
         }
     }
 }
Beispiel #6
0
 //Override the onHits
 public override void onHit(LightCollider proj, float damage)
 {
     if(!m_Hit)
     {
         if(proj.gameObject.tag == Constants.PLAYER_PROJECTILE_STRING) //If the object is a playerProjectile, call setDestination and pass in the gameobject
         {
             m_SFX.playSound(transform, Sounds.LeverHit);
             setDestination (proj.gameObject);
         }
     }
     return;
 }
Beispiel #7
0
 //Override the onHits
 public override void onHit(LightCollider proj, float damage)
 {
     if (!m_Hit)
     {
         if (proj.gameObject.tag == Constants.PLAYER_PROJECTILE_STRING)            //If the object is a playerProjectile, call setDestination and pass in the gameobject
         {
             m_SFX.playSound(transform, Sounds.LeverHit);
             setDestination(proj.gameObject);
         }
     }
     return;
 }
Beispiel #8
0
    public override void onHit(LightCollider proj, float damage)
    {
        m_Health -= 1;

        if (m_Health >= 0)
        {
            DestroyGroup(m_Groups [(int)m_Health]);
        }

        if (m_Health <= 0)
        {
            onDeath();
        }
    }
    //Overridden OnHit function for the player's light projectile attack
    public override void onHit(LightCollider proj, float damage)
    {
        if (m_perception != null)
        {
            m_perception.attackedUs(proj.GetPlayerInfo());
        }

        //Call the notifyHit function to let the enemy's know when it gets hit
        NotifyHit();
        //Check if the enemy is invincible
        if (!m_IsInvincible)
        {
            m_KnockBackBehaviour.SetKnockBack(proj.KNOCKBACK, proj.transform.forward);
            base.onHit(proj, damage);
        }
    }
Beispiel #10
0
    //If the player hits the switch, set activated to true
    public void onHit(LightCollider proj, float damage)
    {
        //TO make sure we only play sounds once
        if(m_PlayingSound == false)
        {
            m_SFX.playSound(transform, Sounds.LeverHit);
            m_PlayingSound = true;
        }

        if(!m_WillPauseForCamera)
        {
           		m_Activated = true;
        }
        else
        {
            m_BeenHit = true;
        }
    }
Beispiel #11
0
    public void onHit(LightCollider proj, float damage) //If the player hits the switch, set activated to true
    {
        //TO make sure we only play sounds once
        if (m_PlayingSound == false)
        {
            m_SFX.playSound(transform, Sounds.LeverHit);
            m_PlayingSound = true;
        }

        if (!m_WillPauseForCamera)
        {
            m_Activated = true;
        }
        else
        {
            m_BeenHit = true;
        }
    }
    //used for Combo_AX attack
    public virtual void AOEAttack()
    {
        m_Movement.m_PausedMovement = true;
        m_InitialProjectilePosition = transform.position;
        m_InitialProjectileRotation = transform.rotation.eulerAngles;

        for (int i = 0; i < m_NumberOfAOEProjectiles; i++)
        {
            m_ProjectileRotation = Quaternion.Euler(m_InitialProjectileRotation.x, m_InitialProjectileRotation.y + (i * m_AOEProjectileAngle), m_InitialProjectileRotation.z);
            GameObject proj = (GameObject)GameObject.Instantiate(m_LightColliderPrefab,
                                                                 new Vector3(m_InitialProjectilePosition.x,
                                                                             m_InitialProjectilePosition.y + m_FirePointOffset,
                                                                             m_InitialProjectilePosition.z), m_ProjectileRotation);

            LightCollider collider = proj.GetComponent <LightCollider>();
            collider.LaunchProjectile(m_AOESpeed, m_AOERange);
            collider.SetCharacter(m_ReadInput.ReadInputFrom);
            AOESlamEffect();
        }
    }
 public override void onHit(LightCollider proj, float damage)
 {
     //Knockback
     KnockBackPlayer(proj.gameObject.transform.forward);
 }
Beispiel #14
0
 public override void onHit(LightCollider proj, float damage)
 {
     //Knockback
     KnockBackPlayer(proj.gameObject.transform.forward);
 }
Beispiel #15
0
 //Onhit will get called by the Player and Enemy projectiles
 public virtual void onHit(LightCollider proj, float damage)
 {
     if (this.tag != Constants.PLAYER_STRING)
         m_Health -= damage;
 }