public static void LoadBattleScene() { //TestRandom(); SquadBuilderRoster.ClearRoster(); SceneManager.LoadScene("Battle"); }
public static string TestGetNameOfFirstShipInRoster() { string result = ""; result = SquadBuilderRoster.GetShips()[0].Ship.Type; return(result); }
private static SquadBuilderShip AddShip(PlayerNo playerNo) { List <string> shipResults = GetShipsByFaction(Global.GetPlayerFaction(playerNo)); string shipNameId = AllShips.Find(n => n.ShipName == shipResults.First()).ShipNamespace; List <string> pilotResults = GetPilotsList(shipNameId, SquadBuilderRoster.playerFactions[playerNo]).OrderByDescending(n => AllPilots.Find(m => m.PilotNameWithCost == n).PilotSkill).ToList(); string pilotId = AllPilots.Find(n => n.PilotNameWithCost == pilotResults.Last()).PilotTypeName; GenericShip pilot = (GenericShip)Activator.CreateInstance(Type.GetType(pilotId)); GameObject panel = CreateShipPanel(playerNo); SquadBuilderShip squadBuilderShip = new SquadBuilderShip(pilot, panel, playerNo); SquadBuilderRoster.AddShip(squadBuilderShip); SetShipsDropdown(squadBuilderShip, shipResults); SetPilotsDropdown(squadBuilderShip, pilotResults); SetSkinsDropdown(squadBuilderShip, GetSkins(pilot)); SetAvailableUpgrades(squadBuilderShip); OrganizeUpgradeLines(panel); UpdateShipCost(squadBuilderShip); OrganizeShipsList(playerNo); return(squadBuilderShip); }
private static void RemoveShip(PlayerNo playerNo, GameObject panel) { SquadBuilderRoster.RemoveShip(playerNo, panel); MonoBehaviour.DestroyImmediate(panel); UpdateSquadCost(playerNo); OrganizeAllShipsLists(); }
public static void RemoveAllShipsByPlayer(PlayerNo playerNo) { List <SquadBuilderShip> shipsList = SquadBuilderRoster.GetShipsByPlayer(playerNo); foreach (var ship in shipsList) { RemoveShip(playerNo, ship.Panel); } }
private static void GeneratePlayersShipConfigurations() { Global.RemoveAllShips(); foreach (var ship in SquadBuilderRoster.GetShips()) { ship.Ship.SkinName = GetSkinName(ship); Global.AddShip(ship.Ship, ship.Player, GetShipCostCalculated(ship)); } }
private static void CopyShip(PlayerNo playerNo, GameObject panel) { if (GetShipsCount(playerNo) < 8) { SquadBuilderShip originalShip = SquadBuilderRoster.GetShips().Find(n => n.Panel == panel); AddShip(playerNo); SquadBuilderShip copiedShip = SquadBuilderRoster.GetShipsByPlayer(playerNo).Last(); CopyShipType(originalShip, copiedShip); CopySkinDropdown(originalShip, copiedShip); CopyShipPilot(originalShip, copiedShip); CopyShipUpgrades(originalShip, copiedShip); } else { Messages.ShowError("You cannot have more than 8 ships"); } }
private static bool ValidateUpgradePostChecks(PlayerNo playerNo) { bool result = true; foreach (var shipHolder in SquadBuilderRoster.GetShips()) { foreach (var upgradeHolder in shipHolder.GetUpgrades()) { if (!upgradeHolder.Slot.IsEmpty) { if (!upgradeHolder.Slot.InstalledUpgrade.IsAllowedForSquadBuilderPostCheck(upgradeHolder)) { return(false); } } } } return(result); }
private static bool ValidateDifferentUpgradesInAdditionalSlots() { bool result = true; foreach (var shipHolder in SquadBuilderRoster.GetShips()) { foreach (var upgradeSlot in shipHolder.Ship.UpgradeBar.GetUpgradeSlots()) { if (upgradeSlot.MustBeDifferent && !upgradeSlot.IsEmpty) { int countDuplicates = shipHolder.Ship.UpgradeBar.GetInstalledUpgrades().Count(n => n.Name == upgradeSlot.InstalledUpgrade.Name); if (countDuplicates > 1) { Messages.ShowError("Upgrades must be different: " + upgradeSlot.InstalledUpgrade.Name); return(false); } } } } return(result); }
public static JSONObject GetSquadInJson(PlayerNo playerNo) { JSONObject squadJson = new JSONObject(); //squadJson.AddField("name", "New Squad"); squadJson.AddField("faction", FactionToXWS(GetPlayerFaction(playerNo))); squadJson.AddField("points", GetPlayerShipsCostCalculated(playerNo)); squadJson.AddField("version", "0.3.0"); //squadJson.AddField("description", "No descripton"); List <SquadBuilderShip> playerShipConfigs = SquadBuilderRoster.GetShips().Where(n => n.Player == playerNo).ToList(); JSONObject[] squadPilotsArrayJson = new JSONObject[playerShipConfigs.Count]; for (int i = 0; i < squadPilotsArrayJson.Length; i++) { squadPilotsArrayJson[i] = GenerateSquadPilot(playerShipConfigs[i]); } JSONObject squadPilotsJson = new JSONObject(squadPilotsArrayJson); squadJson.AddField("pilots", squadPilotsJson); return(squadJson); }
//Initialization private static void InitializeSquadBuilderRoster() { RemoveAllShips(); SquadBuilderRoster.ClearRoster(); }
//Initialization private static void InitializeSquadBuilderRoster() { SquadBuilderRoster.ClearRoster(); }