public void CollisionCheck(ObjectBase obj, BulletBase.BulletTeam team) { ObjectLink link = activeFront; if (link == null) { return; } while (true) { link.me.CopyList(); if (link.me.gameObject.activeSelf) { if (link.me.IsTeam(team)) { if (obj.Collision(link.me)) { //Debug.Log(obj.GetColliderInfo().radius); link.me.ColliseionActive(obj); } } } //link.me.DeleteExitObjects(); link = link.back; if (link == null) { break; } } }
public BulletBase ObjectActive(ObjectBase sht, EnemyDatabase.EnemyInfo enemyInfo, float attack, EnemyDatabase.BulletInfo info, Vector2 pos, bool scObj, bool guided, BulletBase.BulletTeam team = BulletBase.BulletTeam.Enemy) { if (disableFront == null) { return(null); } ++bulletCount; disableFront.me.SetBullet(sht, pos + enemyInfo.shotPoint[info.shotPoint], info.speed, attack, info.angle, guided, scObj, team).SetRadius(0.1f); ObjectLink save = disableFront.back; disableFront.back = null; if (activeFront == null) { activeFront = disableFront; activeBack = activeFront; } else { activeBack.back = disableFront; activeBack = disableFront; } disableFront = save; return(activeBack.me); }
public BulletBase ObjectActive(ObjectBase sht, Vector2 pos, float speed, float attack, float angle, bool scObj, bool guided = false, BulletBase.BulletTeam team = BulletBase.BulletTeam.Enemy) { if (disableFront == null) { return(null); } ++bulletCount; disableFront.me.SetBullet(sht, pos, speed, attack, angle, guided, scObj, team).SetRadius(0.1f); ObjectLink save = disableFront.back; disableFront.back = null; if (activeFront == null) { activeFront = disableFront; activeBack = activeFront; } else { activeBack.back = disableFront; activeBack = disableFront; } disableFront = save; return(activeBack.me); }