void UpDateFleets(MapGlobal MapGlobal, int Index, List <FightShip> fleet) { bool b = false; b = (ClearDead(fleet) != null); if (b) { List <FightShip> clearFleet = ClearDead(fleet); MapGlobal.MapShip[] tempFleet = new MapGlobal.MapShip[clearFleet.Count]; for (int i = 0; i < clearFleet.Count; i++) { tempFleet[i].attack = clearFleet[i].attack; tempFleet[i].defence = clearFleet[i].defence; tempFleet[i].maxDefence = clearFleet[i].MaxDefence; tempFleet[i].speed = clearFleet[i].speed; tempFleet[i].shipTypeIndex = clearFleet[i].shipTypeIndex; } for (int i = 0; i < MapGlobal.Fleets.Length; i++) { if (MapGlobal.Fleets[i].mapIndex == Index && MapGlobal.Fleets[i].camp == fleet[0].camp) { MapGlobal.Fleets[i].MapShip = tempFleet; } } } else { MapGlobal.Fleet[] tempFleets = new MapGlobal.Fleet[MapGlobal.Fleets.Length - 1]; for (int i = 0, j = 0; i < MapGlobal.Fleets.Length; i++) { if (MapGlobal.Fleets[i].mapIndex != Index) { tempFleets[j] = MapGlobal.Fleets[i]; j++; } } MapGlobal.Fleets = tempFleets; MapGlobal.unitCount = MapGlobal.Fleets.Length; } }
void LoadFleet(int attackerIndex, int defenderIndex, MapGlobal MapGlobal) { this.attackerIndex = attackerIndex; this.defenderIndex = defenderIndex; for (int i = 0; i < MapGlobal.Fleets.Length; i++) { if (MapGlobal.Fleets[i].mapIndex == attackerIndex) { MapGlobal.Fleet attacker = MapGlobal.Fleets[i]; for (int j = 0; j < attacker.MapShip.Length; j++) { FightShip ship = Instantiate(shipPrefabs[attacker.MapShip[j].shipTypeIndex]); ship.attack = attacker.MapShip[j].attack; ship.defence = attacker.MapShip[j].defence; ship.MaxDefence = attacker.MapShip[j].maxDefence; ship.speed = attacker.MapShip[j].speed; ship.camp = attacker.camp; ship.shipTypeIndex = attacker.MapShip[j].shipTypeIndex; //text.text = ship.hullNumber; //image = ship.headPortrait; if (ship.camp == 0 || ship.camp == 2) { weFleet.Add(ship); } else if (ship.camp == 1) { enemyFleet.Add(ship); } fightFleet.Add(ship); ship.transform.SetParent(weContent, false); } } else if (MapGlobal.Fleets[i].mapIndex == defenderIndex) { MapGlobal.Fleet defender = MapGlobal.Fleets[i]; for (int j = 0; j < defender.MapShip.Length; j++) { FightShip ship = Instantiate(shipPrefabs[defender.MapShip[j].shipTypeIndex]); ship.attack = defender.MapShip[j].attack; ship.defence = defender.MapShip[j].defence; ship.MaxDefence = defender.MapShip[j].maxDefence; ship.speed = defender.MapShip[j].speed; ship.camp = defender.camp; ship.shipTypeIndex = defender.MapShip[j].shipTypeIndex; //text.text = ship.hullNumber; //image = ship.headPortrait; if (ship.camp == 0 && ship.camp == 2) { weFleet.Add(ship); } else if (ship.camp == 1) { enemyFleet.Add(ship); } fightFleet.Add(ship); ship.transform.SetParent(enemyContent, false); } } } fightFleet.Sort((x, y) => x.CompareTo(y)); }