Beispiel #1
0
 void OnTriggerEnter(Collider collider)
 {
     if (collider.gameObject.GetComponent <WalkingUnit>() &&
         collider.GetComponent <WalkingUnit>().faction.Equals(Sender.faction) &&
         TargetablesFriendlies.Contains(Sender.UnitType))
     {
         collider.gameObject.GetComponent <WalkingUnit>().Heal(HealAmount(SkillLevel));
     }
 }
Beispiel #2
0
    void OnTriggerEnter(Collider collider)
    {
        if (collider.GetComponent <Unit>()) // Ignore terrain
        {
            // If it's a targetted skill
            //if (target)
            //{
            //    try
            //    {
            //        if (collider.gameObject.Equals(target.gameObject))
            //        {
            //            collider.gameObject.GetComponent<Unit>().GetDamage(Sender, damage);
            //            AudioSource.PlayClipAtPoint(audioSource.clip, transform.position, 10f);
            //            Destroy(this.gameObject);
            //        }
            //    }
            //    catch
            //    {
            //        print("Target dead");
            //    }
            //}
            // If an other thing
            //else
            //{
            if (collider.GetComponent <Unit>().faction.Equals(Faction))
            {
                if (TargetFriendlies)
                {
                    if (collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.Building))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }

                    else if (collider.GetComponent <HerosUnit>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.HerosUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>() && !collider.GetComponent <HerosUnit>() && !collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.BasicUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <WalkingUnit>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.WalkingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.AttackingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else
                    {
                        throw new NotImplementedException();
                    }
                }
            }
            else
            {
                if (TargetEnemies)
                {
                    if (collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.Building))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <HerosUnit>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.HerosUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>() && !collider.GetComponent <HerosUnit>() && !collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.BasicUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <WalkingUnit>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.WalkingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.AttackingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else
                    {
                        throw new NotImplementedException();
                    }
                }
            }
        }
    }
    void OnTriggerEnter(Collider collider)
    {
        if (collider.GetComponent <Unit>())
        {
            if (collider.GetComponent <Unit>().faction.Equals(Faction))
            {
                if (TargetFriendlies)
                {
                    if (collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.Building))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }

                    else if (collider.GetComponent <HerosUnit>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.HerosUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>() && !collider.GetComponent <HerosUnit>() && !collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.BasicUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <WalkingUnit>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.WalkingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>())
                    {
                        if (TargetablesFriendlies.Contains(UnitType.AttackingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else
                    {
                        throw new NotImplementedException();
                    }
                }
            }
            else
            {
                if (TargetEnemies)
                {
                    if (collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.Building))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <HerosUnit>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.HerosUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>() && !collider.GetComponent <HerosUnit>() && !collider.GetComponent <CreationBuilding>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.BasicUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <WalkingUnit>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.WalkingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else if (collider.GetComponent <AttackingUnit>())
                    {
                        if (TargetablesEnemies.Contains(UnitType.AttackingUnit))
                        {
                            DealDamage(collider.GetComponent <Unit>());
                        }
                    }
                    else
                    {
                        throw new NotImplementedException();
                    }
                }
            }
        }
    }