예제 #1
0
//	bool check = false;
    public virtual int ColliseionActive(ObjectBase obj)
    {
        if (!penetrate)
        {
            if (!gameObject.activeSelf)
            {
                Debug.Log("asdf");
            }
            obj.DecreaseHp(attack);
            DisableBullet();


            return(0);
        }
        else
        {
//			check = false;

            for (int i = 0; i < collisionObjects.Count; ++i)
            {
                if (collisionObjects[i] == obj)
                {
                    //충돌중
                    exitObjects.Remove(obj);
                    return(1);
                }
            }

            //최초 충돌
            obj.DecreaseHp(attack);
            collisionObjects.Add(obj);

            return(0);
        }
    }
예제 #2
0
    public override int ColliseionActive(ObjectBase obj)
    {
        for (int i = 0; i < collisionObjects.Count; ++i)
        {
            if (collisionObjects[i] == obj)
            {
                //충돌중
                exitObjects.Remove(obj);
                return(1);
            }
        }

        //최초 충돌
        float dist = Vector2.Distance(tp.position, obj.tp.position);
        float atk  = dist >= GetColliderInfo().radius * 0.3f ? (dist >= GetColliderInfo().radius * 0.65f ? edgeAttack : middleAttack) : attack;

        //float atk = Vector2.Distance(tp.position,obj.tp.position) >= GetColliderInfo().radius * 0.5f ? edgeAttack : attack;
        obj.DecreaseHp(atk);

        MobileDebugger.instance.AddLine("damage : " + atk);

        //obj.DecreaseHp(attack);
        collisionObjects.Add(obj);

        return(0);
    }
예제 #3
0
 public void Attack(ObjectBase obj)
 {
     obj.DecreaseHp(attack);
 }