// 大砲とパネルの判定 public void DeterminationOfCannonAndPanel() { // すべてのパネルの確認 foreach (ObjectBase panel in c_MassPanel) { if (panel != null) { // パネルの親がアームでないとき if (panel.transform.parent != c_Arm.transform) { // すべての大砲の確認 foreach (ObjectBase cannon in c_Cannon) { // 大砲が使えるとき if (cannon.GetComponent <Cannon>().repairFlag == false) { // 大砲との当たり判定をする if (FC.Collider(cannon.colliderSet, panel.colliderSet)) { MassPanel m = panel.GetComponent <MassPanel>(); m.ChangeableAmmunition(cannon.renderer.sortingOrder - 1, cannon.colliderSet.pos.position); return; } } } } } } }
// アームで持つ public void HoldOnArm() { // 存在するすべてのマスパネルを総当たり foreach (ObjectBase panel in c_MassPanel) { // もしアームとマスパネルが衝突していたら if (FC.Collider(c_Arm.colliderSet, panel.colliderSet)) { // マスパネルをアームの子供にする panel.transform.parent = c_Arm.transform; c_Arm.AcquisitionOfChildren(); break; } } }
// 爆弾と砲弾の判定 public void DeterminationOfBombsAndAmmunition() { foreach (ObjectBase bomb in c_Bomb) { if (bomb != null) { foreach (ObjectBase ammunition in c_Ammunition) { if (ammunition != null) { if (FC.Collider(bomb.colliderSet, ammunition.colliderSet)) { Bomb b = bomb.GetComponent <Bomb>(); Ammunition a = ammunition.GetComponent <Ammunition>(); b.XOROperation(a.num); ammunition.ObjectDestroy(); } } } } } }
// 大砲と爆弾の判定 public void DeterminationOfCannonAndBomb() { foreach (ObjectBase cannon in c_Cannon) { // 大砲が使えるとき if (cannon.GetComponent <Cannon>().repairFlag == false) { foreach (ObjectBase bomb in c_Bomb) { if (bomb != null) { if (FC.Collider(cannon.colliderSet, bomb.colliderSet)) { // 修理常態化 cannon.GetComponent <Cannon>().RepairConditioning(); bomb.ObjectDestroy(); break; } } } } } }