Пример #1
0
    public void EditAccount()
    {
        string accountName = accountDropdownScript.GetSelectedOption();

        //Weight
        bool validWeight = true; float weight = 0;

        try
        {
            weight = float.Parse(weightInputFieldScript.GetComponent <InputField>().text); //weightInputFieldScript.GetSelectedOption() wordt hier niet gebruikt om een error te kunnen catchen. (Kan natuurlijk ook verbeterd worden door .GetSelectedOption een default te laten returnen bij een misgelopen read en dan hier daarop te checken)
        }
        catch
        {
            validWeight = false;
        }
        if (weight < 30 || weight > 150 || weight == null)
        {
            validWeight = false;
        }

        int preferredResistance = resistanceDropdownScript.GetSelectedOption();

        if (validWeight && accountName != "")
        {
            storageManagerScript.CreateOrEditAccount(accountName, weight, preferredResistance);
            popupManager.CreateFeedbackPopup(transform, "Account bewerkt!" + " Naam: " + accountName + ", Gewicht: " + weight + ", Geprefereerde weerstand: " + preferredResistance);
        }
        else
        {
            if (!validWeight)
            {
                popupManager.CreateWarningPopup(transform, "Je moet een geldig gewicht ingeven: 30-150 kg");
            }

            if (accountName == "")
            {
                popupManager.CreateWarningPopup(transform, "Je moet een account selecteren");
            }
        }
    }
Пример #2
0
    //Het gekozen aantal rondes is verandert
    public void NumberOfLapsSelected() //aantalRondesInputField.onValueChanged delegate
    {
        //Ga ervan uit dat de gegeven input juist is

        bool validInput = true;

        //Probeer de input te lezen en om te zetten in een cijfer
        try
        {
            numberOfLaps = int.Parse(aantalRondesInputField.text);
        }
        catch
        {
            validInput = false; //Wanneer dit niet lukt is de input niet juist
        }

        //Ga na of het nummer binnen de toegelaten range is (1 tot 100)
        if (numberOfLaps < 1 || numberOfLaps > 100)
        {
            validInput = false;
        }

        //Is de input juist?
        if (validInput)
        {
            //Zo ja, pas de totale afstand die wordt getoond aan
            totalDistance            = mapDatas[selectedMap].lapLength * numberOfLaps;
            totaleAfstandOutput.text = physicsManager.FormatDistance(totalDistance);
        }
        else
        {
            //Zo nee, gooi een waarschuwingspopup en zet terug naar de default 1 ronde
            popupManager.CreateWarningPopup(instellingenTransform.transform, "Geen geldig aantal rondes: 1-100 rondes");
            aantalRondesInputField.text = 1.ToString();
        }
    }
    //Functie die wordt getriggerd door de OkKnop
    public void TerminateSelection()
    {
        //Ga ervan uit dat alles juist is
        bool validPlayerSelection = true;
        bool noDoubleSelection    = true;

        Dictionary <string, int> selectedPlayers = new Dictionary <string, int>();

        storageManager = FindObjectOfType <StorageManager>();
        popupManager   = FindObjectOfType <PopupManager>();

        accountSelectors = FindObjectsOfType <AccountSelector>();

        //Overloop elke accountselector
        foreach (AccountSelector accountSelector in accountSelectors)
        {
            //Lees de geselecteerde speler en weerstand
            string player     = accountSelector.accountDropdown.GetSelectedOption();
            int    resistance = accountSelector.resistanceDropdown.GetSelectedOption();

            //Is de selectie van de speler geldig?
            if (player != "" & !selectedPlayers.ContainsKey(player))
            {
                selectedPlayers.Add(player, resistance); //Zo ja, voeg hem toe aan de lijst van geselecteerde spelers
            }
            else
            {
                //Zo nee, kijk wat er mis is
                if (player == "")
                {
                    validPlayerSelection = false; //Er is niets geselecteerd
                }
                if (selectedPlayers.ContainsKey(player))
                {
                    noDoubleSelection = false; //Er is een speler twee keer geselecteerd
                }
            }
        }

        //Is er nooit een probleem geweest met een speler?
        if (validPlayerSelection && noDoubleSelection)
        {
            //Zo nee, Voeg alle geselecteerde spelers toe als actieve spelers en laad het volgende level
            storageManager.activePlayers = selectedPlayers;
            FindObjectOfType <SceneManagerScript>().LoadLevel(levelToLoad);
        }
        else
        {
            //Zo ja, kijk wat er mis is
            if (!validPlayerSelection)
            {
                //Er is een ongeldige selectie gemaakt, gooi een popup met dit resultaat en doe voor de rest niets
                //Waarschuwing, de knop werd niet gedeactiveerd dus dit script kan meerdere keren gerunt worden en dus ook meerdere popups gooien, dit moet opgelost worden
                popupManager.CreateWarningPopup(FindObjectOfType <SubDisplays>().transform, "Alle lege spelers moeten geselecteerd of verwijderd worden");
            }
            if (!noDoubleSelection)
            {
                //Er is een dubbele selectie gemaakt, gooi een popup met dit resultaat en doe voor de rest niets
                popupManager.CreateWarningPopup(FindObjectOfType <SubDisplays>().transform, "Er is een account meerdere keren geselecteerd");
            }
        }
    }
Пример #4
0
    public void CreateAccount()
    {
        storageManagerScript = FindObjectOfType <StorageManager>();
        popupManagerScript   = FindObjectOfType <PopupManager>();

        bool validName = true;

        name = nameInputField.text;
        foreach (string illigalItem in illigalItems)
        {
            if (name.Contains(illigalItem))
            {
                validName = false;
            }
        }
        if (name.Length > 20 || name == "")
        {
            validName = false;
        }

        bool validWeight = true;

        try
        {
            weight = float.Parse(weightInputField.text);
        }
        catch
        {
            validWeight = false;
        }
        if (weight < 30 || weight > 150 || weight == null) //weight == null kan nooit dus mag weg
        {
            validWeight = false;
        }

        preferredResistance = int.Parse(preferredResistanceDropdown.options[preferredResistanceDropdown.value].text);

        if (validName & !storageManagerScript.GetPlayerOptions().Contains(name) && validWeight)
        {
            storageManagerScript.CreateOrEditAccount(name, weight, preferredResistance);

            AccountDropdown[] accountDropdowns = FindObjectsOfType <AccountDropdown>();
            foreach (AccountDropdown accountDropdown in accountDropdowns)
            {
                accountDropdown.veranderDropdownOptions();
            }

            popupManagerScript.CreateFeedbackPopup(transform, "Nieuw account gemaakt!" + " Naam: " + name + ", Gewicht: " + weight + ", Geprefereerde weerstand: " + preferredResistance);
        }
        else
        {
            if (!validName)
            {
                // Dit mogen ook gewoon drie if statements worden, geen idee wat ik hier aan het denken was
                if (name.Length > 20 || name == "")
                {
                    if (name.Length > 20)
                    {
                        popupManagerScript.CreateWarningPopup(transform, "De naam is te lang");
                    }
                    else
                    {
                        popupManagerScript.CreateWarningPopup(transform, "Er moet een naam ingegeven worden");
                    }
                }
                else
                {
                    popupManagerScript.CreateWarningPopup(transform, "De naam bevat een illegaal teken (* . / \" \\ [ ] : ; | = ,)");
                }
            }
            if (storageManagerScript.GetPlayerOptions().Contains(name))
            {
                popupManagerScript.CreateWarningPopup(transform, "Er bestaat al een account met deze naam");
            }

            if (!validWeight)
            {
                popupManagerScript.CreateWarningPopup(transform, "Je moet een geldig gewicht ingeven: 30-150 kg");
            }
        }
    }
Пример #5
0
    public void OkButtonClicked() //Training
    {
        player               = transform.parent.GetComponent <Player>();
        storageManager       = FindObjectOfType <StorageManager>();
        communicationManager = FindObjectOfType <CommunicationManager>();
        popupManager         = FindObjectOfType <PopupManager>();

        activePlayers  = new List <string>(storageManager.activePlayers.Keys);
        actieveFietsen = new List <int>(storageManager.activePlayers.Values);

        //Bepaalfietsnummer door alle nummers te overlopen en het eerste te nemen dat vrij is
        int  i = 1;
        bool fietsNummerFound = false;

        while (i < 7 & !fietsNummerFound)
        {
            if (!actieveFietsen.Contains(i))
            {
                fietsNummer      = i;
                fietsNummerFound = true;
            }
            else
            {
                i += 1;
            }
        }

        //Leees de geselecteerde naam
        naam = persoonDropdownDropdown.options[persoonDropdownDropdown.value].text; //Kan in vervolg beter AccountDropdown gebruiken

        //Lees het geselecteerd vermogen
        try //Kan ook beter naar AccountDropdown
        {
            inTeStellenvermogen = int.Parse(vermogenInputField.text);
        }
        catch
        {
            inTeStellenvermogen = 0;
        }

        //Zijn de naam en het vermogen geldig?
        if (naam != "" && inTeStellenvermogen > 0 && inTeStellenvermogen < 500 & !activePlayers.Contains(naam))
        {
            //Zo ja, zet informatie in Player, instantieer tekst en activeer fiets
            player.fietsnummer       = fietsNummer;
            player.naam              = naam;
            player.spelerMassa       = storageManager.GetAccountData(naam)[0];
            player.ingesteldVermogen = inTeStellenvermogen;

            //Instantieer tekst
            transform.parent.gameObject.GetComponent <PersoonDisplay>().InstantieerText();
            try
            {
                //Activeer fiets
                communicationManager.SendPort(4, fietsNummer, 1);
                communicationManager.SendPort(5, fietsNummer, inTeStellenvermogen); //zend vermogen naar fiets
            }
            catch { Debug.Log("COMMUNICATIONERROR"); }

            //Verwijder de selector (dit object)
            Destroy(gameObject);
        }
        else
        {
            //Zo nee, zoek wat er mis is en gooi een popup
            if (naam == "")
            {
                popupManager.CreateWarningPopup(transform, "Je moet een account selecteren");
            }
            if (inTeStellenvermogen <= 0 || inTeStellenvermogen >= 500)
            {
                popupManager.CreateWarningPopup(transform, "Je moet een geldig vermogen invoeren: 1 tot 500 watt");
            }
            if (activePlayers.Contains(naam))
            {
                popupManager.CreateWarningPopup(transform, naam + " is al aan het trainen");
            }
        }
    }