/// <summary>
    /// Handles the on item click.
    /// </summary>
    /// <param name="itemDisplay">Item display.</param>
    public void HandleOnBerufClick(InventoryItemBerufDisplay itemDisplay)
    {
        Toolbox globalVars = Toolbox.Instance;

        lpHelper = globalVars.lernHelper;
        string berufsWahl = itemDisplay.item.name;
        Dictionary <string, List <Beruf> > berufsKenntnisse = lpHelper.Berufskenntnisse;
        List <Beruf> wahlFach;

        berufsKenntnisse.TryGetValue(berufsWahl, out wahlFach);          //Hole Fachkenntnisse für den Beruf

        Transform  berufPanelDisplay = null;
        GameObject fachAllgemein     = GameObject.Find("FachBeruf");
        GameObject fachGewählt       = GameObject.Find("FachGewählt");

        berufPanelDisplay = fachAllgemein.transform;

        int berufsWurf = lpHelper.BerufswahlW100;


        //ClearScreen und fülle auf
        lpHelper.ResetPanelFachbBerufeClicked();
        RemoveItemDisplay(fachGewählt);
        RemoveItemDisplay(fachAllgemein);
        CreateFachItemsForBeruf(wahlFach, berufPanelDisplay);         //Zeige Items
    }
    public void FillLernPunkteAllgemeinWissen()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        //Zuerst werden nur die Fachkenntnissse eingefüllt:
        inRestAllgemeinWissen.text = lernHelper.LernPunkteAllgemeinWissen.ToString();
    }
    /// <summary>
    /// Sets the berufs wahl dice.
    /// </summary>
    public void SetBerufsWahlDice()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        lernHelper.BerufswahlW100 = UnityEngine.Random.Range(1, 101);          //W100 für die Berufswahl
        inBerufsWurf.text         = lernHelper.BerufswahlW100.ToString();
    }
    public void SetLernPunkteUngewFertigkeiten()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        lernHelper.LernPunkteUngewFertigkeiten = UnityEngine.Random.Range(1, 7);
        inLernPunkteUngewFertigkeiten.text     = lernHelper.LernPunkteUngewFertigkeiten.ToString();

        lernHelper.lernPunkteResetUngewFertigkeiten = true;         //neu gewürfelt
    }
    public void SetLernPlanPunkteAllgemeinwissen()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        lernHelper.LernPunkteAllgemeinWissen = UnityEngine.Random.Range(1, 7) + 1;
        inLernPunkteAllgemeinWissen.text     = lernHelper.LernPunkteAllgemeinWissen.ToString();

        lernHelper.lernPunkteResetAllgemein = true;         //neu gewürfelt
    }
    public void SetLernPlanPunkteZauber()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        lernHelper.LernPunkteZauber = UnityEngine.Random.Range(1, 7) + UnityEngine.Random.Range(1, 7);
        inLernPunkteZauber.text     = lernHelper.LernPunkteZauber.ToString();

        lernHelper.lernPunkteResetZauber = true;         //neu gewürfelt
    }
Пример #7
0
    /// <summary>
    /// Fills the panel fachkenntnisse.
    /// </summary>
    public override void FillPanel()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        //Prepare listItems
        List <InventoryItem> listItems = lernHelper.GetAllgemeinWissen();

        ConfigurePrefab(listItems);
    }
    /// <summary>
    /// Fills the panel fachkenntnisse.
    /// </summary>
    public override void FillPanel()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        //Prepare listItems
        List <InventoryItem> listItems = lernHelper.GetFachkenntnisseItems();

        ConfigurePrefab(listItems);
        PreSelectZwerge(globalVars);
    }
    private void ModifyLernPunkteRest(int deltaPoints)
    {
        LernPlanHelper lpHelper       = Toolbox.Instance.lernHelper;
        int            lernPunkteRest = maskenType.GetLernPunkteRest();

        lernPunkteRest += deltaPoints;
        maskenType.SetLernPunkteRest(lernPunkteRest);
        lpHelper.LernPunktePool += deltaPoints;
        inputPointsLeft.text     = maskenType.GetLernPunkteRest().ToString();
        inputPointsPool.text     = lpHelper.LernPunktePool.ToString();
    }
    public void FillLernPunkteUngewFertigkeiten()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;
        int            gesamtUngewFertigkeiten = lernHelper.LernPunkteUngewFertigkeiten + lernHelper.LernPunktePool;

        //Zuerst werden nur die Fachkenntnissse eingefüllt:
        inRestUngewFertigkeiten.text = gesamtUngewFertigkeiten.ToString();

        lernHelper.LernPunkteUngewFertigkeiten = gesamtUngewFertigkeiten;
    }
	/// <summary>
	/// Fills the panel fachkenntnisse. 
	/// </summary>
	public override void FillPanel()
	{
		Toolbox globalVars = Toolbox.Instance;
		LernPlanHelper lernHelper = globalVars.lernHelper;
		//Lösche alte Einträge
		RemoveItemDisplay();
		//Prepare listItems 
		List<InventoryItem> listItems =lernHelper.GetBerufe();

		//Fachkenntnisse werden entsprechend der Lernpunkte aufgelistet
		ConfigurePrefab(listItems);
	}
    public void FillLernPunkteFields()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        //Zuerst werden nur die Fachkenntnissse eingefüllt:
        inResteLP.text = lernHelper.LernPunkteFach.ToString();

        //Restepool:
        lernHelper.LernPunktePool = lernHelper.LernPunkteFach + lernHelper.LernPunkteWaffen + lernHelper.LernPunkteZauber;
        inPoolLP.text             = lernHelper.LernPunktePool.ToString();
    }
    /// <summary>
    /// Fills the panel with Zauber.
    /// </summary>
    public override void FillPanel()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lernHelper = globalVars.lernHelper;

        //Prepare listItems
        List <InventoryItem> listZauberformeln = lernHelper.GetZauberFormeln();
        List <InventoryItem> listZaubersalze   = lernHelper.GetZauberSalze();
        List <InventoryItem> listZauberlieder  = lernHelper.GetZauberLieder();

        //Concat lists:
        listZauberformeln.AddRange(listZaubersalze);
        listZauberformeln.AddRange(listZauberlieder);

        ConfigurePrefab(listZauberformeln);
    }
    /// <summary>
    /// Handles the on item click.
    /// </summary>
    /// <param name="itemDisplay">Item display.</param>
    public void HandleOnItemClick(InventoryItemDisplay itemDisplay)
    {
        //Display aus dem der Click stammt
        string contextItemDisplay = itemDisplay.transform.parent.name;

        lpHelper = Toolbox.Instance.lernHelper;

        //Hier sind die Arten der Panels zu speicher, die vom Click betroffen sein können
        Transform allgemeinPanelDisplay = null;

        string     righPanelShort = "Gewählt";
        GameObject fachAllgemein  = GameObject.Find("FachGewählt");

        allgemeinPanelDisplay = fachAllgemein.transform;
        int aktKategorieClicked = itemDisplay.item.cost;

        //Geklicktes Item schon aktiviert -> deaktivieren
        if (itemDisplay.item.activated)
        {
            if (contextItemDisplay.Contains(righPanelShort))
            {
                itemDisplay.item.activated = false;
                itemDisplay.gameObject.SetActive(false);
                lpHelper.FachBerufClicked -= 1;
                lpHelper.KategorieClicked -= aktKategorieClicked;
                DeleteFertigkeitFromCharacter(itemDisplay.item);
            }
        }
        else             //Neues Item einfügen, falls nicht aktiv-> verschiedene Zielpanels
        {
            bool addMore = CheckBerufFachOk(itemDisplay);
            if (addMore)
            {
                lastKatClicked             = aktKategorieClicked;
                lpHelper.FachBerufClicked += 1;
                lpHelper.KategorieClicked += aktKategorieClicked;
                InsertNewItem(itemDisplay, contextItemDisplay, lpHelper, allgemeinPanelDisplay);
                AddFertigkeitToCharacter(itemDisplay.item);
                lpHelper.lernPunkteResetUngewFertigkeiten = false;                 //jetzt kann das Panel mit Inhalt bleiben
            }
        }
    }
    public void SetRestLP()
    {
        Toolbox        globalVars = Toolbox.Instance;
        LernPlanHelper lpHelper   = globalVars.lernHelper;

        GameObject fachPanel   = GameObject.Find("GewähltFach");
        GameObject waffenPanel = GameObject.Find("GewähltWaffen");
        GameObject zauberPanel = GameObject.Find("GewähltZauber");

        if (fachPanel != null)
        {
            inRestLP.text = lpHelper.LernPunkteFach.ToString();
        }
        else if (waffenPanel != null)
        {
            inRestLP.text = lpHelper.LernPunkteWaffen.ToString();
        }
        else if (zauberPanel != null)
        {
            inRestLP.text = lpHelper.LernPunkteZauber.ToString();
        }
    }
    // Resettet das Fachpanel, falls neu gewürfelt wurde
    void OnEnable()
    {
        Toolbox globalVars = Toolbox.Instance;

        lernHelper = globalVars.lernHelper;

        if (lernHelper.lernPunkteResetFach == true && gameObject.name == "GewähltFach")
        {
            //setze panel zurück
            RemoveItemDisplay();
            //Setze Fertigkeiten zurück
            //Setze Lernpunkte zurück
        }
        else if (lernHelper.lernPunkteResetWaffe == true && gameObject.name == "GewähltWaffen")
        {
            RemoveItemDisplay();
        }
        else if (lernHelper.lernPunkteResetZauber == true && gameObject.name == "GewähltZauber")
        {
            RemoveItemDisplay();
        }
    }
Пример #17
0
    /// <summary>
    /// Handles the on item click.
    /// </summary>
    /// <param name="itemDisplay">Item display.</param>
    public void HandleOnItemClick(InventoryItemDisplay itemDisplay)
    {
        //Display aus dem der Click stammt
        string         contextItemDisplay = itemDisplay.transform.parent.name;
        int            lernpunkteDelta    = itemDisplay.item.cost;
        LernPlanHelper lpHelper           = Toolbox.Instance.lernHelper;

        //Hier sind die Arten der Panels zu speicher, die vom Click betroffen sein können
        Transform allgemeinPanelDisplay = null;

        string     righPanelShort = "Gewählt";
        GameObject fachAllgemein  = GameObject.Find("GewähltUngewFertigkeiten");

        allgemeinPanelDisplay = fachAllgemein.transform;

        //Geklicktes Item schon aktiviert -> deaktivieren
        if (itemDisplay.item.activated)
        {
            if (contextItemDisplay.Contains(righPanelShort))
            {
                itemDisplay.item.activated = false;
                itemDisplay.gameObject.SetActive(false);
                ReSetLearningPoints(itemDisplay.item.type, lernpunkteDelta, lpHelper);
                DeleteFertigkeitFromCharacter(itemDisplay.item);
            }
        }
        else             //Neues Item einfügen, falls nicht aktiv-> verschiedene Zielpanels
        {
            bool addMore = ((lpHelper.LernPunkteUngewFertigkeiten - lernpunkteDelta) >= 0) ? true : false;
            if (addMore)
            {
                InsertNewItem(itemDisplay, contextItemDisplay, lernpunkteDelta, lpHelper, allgemeinPanelDisplay);
                AddFertigkeitToCharacter(itemDisplay.item);

                lpHelper.lernPunkteResetUngewFertigkeiten = false;                 //jetzt kann das Panel mit Inhalt bleiben
            }
        }
    }
 /// <summary>
 /// Inserts the new item. Dazu werden übergeben: QuellItem, auf das geklickt wurde, QuellPanel, abzuziehende LPs sowie das Zielpanel
 /// </summary>
 /// <param name="itemDisplay">Item display.</param>
 /// <param name="contextItemDisplay">Context item display.</param>
 /// <param name="lernpunkteDelta">Lernpunkte delta.</param>
 /// <param name="lpHelper">Lp helper.</param>
 /// <param name="rightPanelDisplay">Right panel display.</param>
 void InsertNewItem(InventoryItemDisplay itemDisplay, string contextItemDisplay, LernPlanHelper lpHelper, Transform rightPanelDisplay)
 {
     itemDisplay.item.activated = true;
     //erzeuge neues item
     CreateInventoryItem(itemDisplay, rightPanelDisplay);
 }
 protected MaskenType()
 {
     this.lpHelper = Toolbox.Instance.lernHelper;
 }
Пример #20
0
 public void InstantiateLernplanHelpers()
 {
     // Your initialization code here
     mCharacterHelper = new MidgardCharacterHelper(this.mCharacter);
     lernHelper       = new LernPlanHelper(mCharacterHelper);
 }
Пример #21
0
 void SetLearningPoints(string type, int deltaPoints, LernPlanHelper lpHelper)
 {
     lpHelper.LernPunkteUngewFertigkeiten -= deltaPoints;
     inputPointsLeft.text = lpHelper.LernPunkteUngewFertigkeiten.ToString();
 }
Пример #22
0
 /// <summary>
 /// Inserts the new item. Dazu werden übergeben: QuellItem, auf das geklickt wurde, QuellPanel, abzuziehende LPs sowie das Zielpanel
 /// </summary>
 /// <param name="itemDisplay">Item display.</param>
 /// <param name="contextItemDisplay">Context item display.</param>
 /// <param name="lernpunkteDelta">Lernpunkte delta.</param>
 /// <param name="lpHelper">Lp helper.</param>
 /// <param name="rightPanelDisplay">Right panel display.</param>
 void InsertNewItem(InventoryItemDisplay itemDisplay, string contextItemDisplay, int lernpunkteDelta, LernPlanHelper lpHelper, Transform rightPanelDisplay)
 {
     itemDisplay.item.activated = true;
     //erzeuge neues item
     CreateInventoryItem(itemDisplay, rightPanelDisplay);
     SetLearningPoints(contextItemDisplay, lernpunkteDelta, lpHelper);
 }
Пример #23
0
 void ReSetLearningPoints(string type, int deltaPoints, LernPlanHelper lpHelper)
 {
     lpHelper.LernPunkteAllgemeinWissen += deltaPoints;
     inputPointsLeft.text = lpHelper.LernPunkteAllgemeinWissen.ToString();
 }
    /// <summary>
    /// Gets the berufe.
    ///     Achtung: Rassen und Berufe, die nicht kompatibel sind:
    ///     Elfen:
    ///         {Bergmann, Krämer, Schmuggler, Sklavenhändler, Winzer, Wirt}
    ///     Gnome:
    ///         {Bettler, Flussschiffer, Grobschmied, Kapitän, Karawanenführer, Kurtisane, Räuber, Scharfrichter, Seemannn, Schlachter, Sklavenhändler, Steuermann, Träger, Winzer, Zureiter}
    ///     Halbling:
    ///         {Bergmann, Bootsbauer, Falkner, Flussschiffer, Kapitän, Karawanenführer, Räuber, Rechtsgelehrter, Sattler, Scharfrichter, Seemannn, Sklavenhändler, Stadtwache, Steuermann, Waffenschmied, Waldarbeiter, Zureiter }
    ///		Zwerge:
    ///         {Akrobat, Barbier, Bettler, Bootsbauer, Dieb, Falkner, Fallensteller, Fischer, Flussschiffer, Jäger, Kapitän, Kurtisane, Sattler, Seemannn, Sklavenhändler, Steuermann, Waldarbeiter, Zureiter }
    /// </summary>
    public List <InventoryItem> GetBerufe()
    {
        Berufe           berufeAlle = globalVars.MidgardeBerufe;
        MidgardCharakter mCharacter = mCharacterHelper.mCharacter;
        LernPlanHelper   lpHelper   = globalVars.lernHelper;
        List <Beruf>     berufe;
        Dictionary <string, List <Beruf> > berufeDict = new Dictionary <string, List <Beruf> > ();
        List <InventoryItem> returnList = new List <InventoryItem> ();

        AbenteuerTyp[] kämpfer  = { AbenteuerTyp.As, AbenteuerTyp.Kr, AbenteuerTyp.Or, AbenteuerTyp.Soe };
        AbenteuerTyp[] zauberer =
        {
            AbenteuerTyp.Be,
            AbenteuerTyp.Dr,
            AbenteuerTyp.Ma,
            AbenteuerTyp.Hx,
            AbenteuerTyp.PF,
            AbenteuerTyp.PHa,
            AbenteuerTyp.PHe,
            AbenteuerTyp.PK,
            AbenteuerTyp.PM,
            AbenteuerTyp.PT,
            AbenteuerTyp.PW,
            AbenteuerTyp.Th
        };

        string[] ElfenNichtBerufe = { "Bergmann", "Krämer", "Schmuggler", "Sklavenhändler", "Winzer", "Wirt" };
        string[] GnomeNichtBerufe =
        {
            "Bettler",
            "Flussschiffer",
            "Grobschmied",
            "Kapitän",
            "Karawanenführer",
            "Kurtisane",
            "Räuber",
            "Scharfrichter",
            "Seemannn",
            "Schlachter",
            "Sklavenhändler",
            "Steuermann",
            "Träger",
            "Winzer",
            "Zureiter"
        };
        string[] HalblingNichtBerufe =
        {
            "Bergmann",
            "Bootsbauer",
            "Falkner",
            "Flussschiffer",
            "Kapitän",
            "Karawanenführer",
            "Räuber",
            "Rechtsgelehrter",
            "Sattler",
            "Scharfrichter",
            "Seemannn",
            "Sklavenhändler",
            "Stadtwache",
            "Steuermann",
            "Waffenschmied",
            "Waldarbeiter",
            "Zureiter"
        };

        string[] ZwergeNichtBerufe =
        {
            "Akrobat",
            "Barbier",
            "Bettler",
            "Bootsbauer",
            "Dieb",
            "Falkner",
            "Fallensteller",
            "Fischer",
            "Flussschiffer",
            "Jäger",
            "Kapitän",
            "Kurtisane",
            "Sattler",
            "Seemannn",
            "Sklavenhändler",
            "Steuermann",
            "Waldarbeiter",
            "Zureiter"
        };

        //Berufe müssen entsprechend und Herkunft gefiltert werden
        if (mCharacter.StadtLand == StadtLandFluss.Stadt)
        {
            berufe = berufeAlle.stadtBerufe.berufe;
        }
        else
        {
            berufe = berufeAlle.landBerufe.berufe;
        }

        //Nun müssen die Berufe gefiltert werden:
        foreach (Beruf beruf in berufe.ToArray())
        {
            if (beruf.schicht.Length > 0)                                         //Schicht
            {
                string sCharacter = mCharacter.Schicht.ToString() [0].ToString(); //Hole ersten Buchstaben
                if (!beruf.schicht.Contains(sCharacter))                          //Werfe Beruf, falls nicht gleiche schicht
                {
                    berufe.Remove(beruf);
                    continue;
                }
            }
            if (kämpfer.Contains(mCharacter.Archetyp))
            {
                if (!beruf.typus.Contains("k"))
                {
                    berufe.Remove(beruf);
                    continue;
                }
            }
            else if (zauberer.Contains(mCharacter.Archetyp))
            {
                if (!beruf.typus.Contains("z"))
                {
                    berufe.Remove(beruf);
                    continue;
                }
            }

            //Füge Beruf dem Dictionary hinzu
            if (!berufeDict.ContainsKey(beruf.name))
            {
                List <Beruf> newList = new List <Beruf> ();
                newList.Add(beruf);
                berufeDict.Add(beruf.name, newList);
            }
            else
            {
                List <Beruf> oldList;
                berufeDict.TryGetValue(beruf.name, out oldList);
                oldList.Add(beruf);
            }
        }

        //Berufe müssen für Rassen gefiltert werden bzgl. Rassen
        List <string> keysToRemove = new List <string>();

        if (mCharacter.Spezies == Races.Elf)
        {
            keysToRemove = ElfenNichtBerufe.OfType <string> ().ToList();
        }
        else if (mCharacter.Spezies == Races.Halbling)
        {
            keysToRemove = HalblingNichtBerufe.OfType <string> ().ToList();
        }
        else if (mCharacter.Spezies == Races.Zwerg)
        {
            keysToRemove = ZwergeNichtBerufe.OfType <string> ().ToList();
        }
        else if (mCharacter.Spezies == Races.Berggnom || mCharacter.Spezies == Races.Waldgnom)
        {
            keysToRemove = GnomeNichtBerufe.OfType <string> ().ToList();
        }
        foreach (var item in keysToRemove)
        {
            berufeDict.Remove(item);
        }

        //Erstelle Iventory Items nur, falls genügend Fachkenntnisse im Beruf
        foreach (string key in berufeDict.Keys)
        {
            int          wuerfelWurf = lpHelper.BerufswahlW100;
            List <Beruf> wahlFach;
            berufeDict.TryGetValue(key, out wahlFach);
            lernPlanModifier.ModifyBerufeFromWurf(wuerfelWurf, wahlFach);
            if (wahlFach.Count > 0)
            {
                returnList.Add(new InventoryItem(0, key, "", 0, ""));
            }
        }

        Berufskenntnisse = berufeDict;
        return(returnList);
    }