Ejemplo n.º 1
0
    public static void LoadBattleScene()
    {
        //TestRandom();
        SquadBuilderRoster.ClearRoster();

        SceneManager.LoadScene("Battle");
    }
Ejemplo n.º 2
0
    public static string TestGetNameOfFirstShipInRoster()
    {
        string result = "";

        result = SquadBuilderRoster.GetShips()[0].Ship.Type;
        return(result);
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
    private static void RemoveShip(PlayerNo playerNo, GameObject panel)
    {
        SquadBuilderRoster.RemoveShip(playerNo, panel);

        MonoBehaviour.DestroyImmediate(panel);
        UpdateSquadCost(playerNo);
        OrganizeAllShipsLists();
    }
Ejemplo n.º 5
0
    public static void RemoveAllShipsByPlayer(PlayerNo playerNo)
    {
        List <SquadBuilderShip> shipsList = SquadBuilderRoster.GetShipsByPlayer(playerNo);

        foreach (var ship in shipsList)
        {
            RemoveShip(playerNo, ship.Panel);
        }
    }
Ejemplo n.º 6
0
 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));
     }
 }
Ejemplo n.º 7
0
    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");
        }
    }
Ejemplo n.º 8
0
    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);
    }
Ejemplo n.º 9
0
    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);
    }
Ejemplo n.º 10
0
    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);
    }
Ejemplo n.º 11
0
    //Initialization

    private static void InitializeSquadBuilderRoster()
    {
        RemoveAllShips();
        SquadBuilderRoster.ClearRoster();
    }
Ejemplo n.º 12
0
    //Initialization

    private static void InitializeSquadBuilderRoster()
    {
        SquadBuilderRoster.ClearRoster();
    }