// 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); } }
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); }
public void Attack(ObjectBase obj) { obj.DecreaseHp(attack); }