Ejemplo n.º 1
0
        void InitUi()
        {
            UpdateHeader();

            abilityNamesToDials = new Dictionary <string, NumberDial> ();

            abilityNamesToDials.Add("strength", characterCustomization.manager.optionsWindow.AddNumberDial());
            abilityNamesToDials.Add("dexterity", characterCustomization.manager.optionsWindow.AddNumberDial());
            abilityNamesToDials.Add("constitution", characterCustomization.manager.optionsWindow.AddNumberDial());
            abilityNamesToDials.Add("intelligence", characterCustomization.manager.optionsWindow.AddNumberDial());
            abilityNamesToDials.Add("wisdom", characterCustomization.manager.optionsWindow.AddNumberDial());
            abilityNamesToDials.Add("charisma", characterCustomization.manager.optionsWindow.AddNumberDial());

            foreach (NumberDial dial in abilityNamesToDials.Values)
            {
                dial.OnValueWillChange += UpdateDialsAndAbilities;
            }

            foreach (string abilityName in abilityNamesToDials.Keys)
            {
                NumberDial dial = abilityNamesToDials [abilityName];
                dial.generateLabel = (int value) => {
                    return(UtilString.Capitalize(abilityName) + ": " + value + ", Cost: " + NextPointCost(value));
                };
                dial.Min = MIN_VALUE_ALLOWED_PER_ABILITY;
                dial.Max = MAX_VALUE_ALLOWED_PER_ABILITY;
            }
        }
Ejemplo n.º 2
0
        private void UpdateDialsAndAbilities(NumberDial nd, bool willDecrease)
        {
            if (willDecrease)
            {
                int refund = CurrentPointRefund(nd.Current);
                pointsAlotted -= refund;
                RemoveAbilityGaugeModUnit(AbilityNameFromButton(nd));
                //Take away ability increase feature....
            }
            else
            {
                int cost = NextPointCost(nd.Current);

                pointsAlotted += cost;
                AddAbilityGaugeModUnit(AbilityNameFromButton(nd));
                //Give ability increase feature...
                //Set max of all gauges to whatever is smaller: 15? or the current amount + (pointsAllowed-pointsAlotted....)
            }
            SetMaxes();
            UpdateHeader();
            characterCustomization.UpdateSheet();
            if (PointsLeft == 0)
            {
                EnableConfirm();
            }
            else
            {
                DisableConfirm();
            }
        }
    public NumberDial AddNumberDial(string text = "0")
    {
        GameObject numberDial = Instantiate(UIPrefabs.instance.numberCounterPrefab);
        NumberDial dial       = numberDial.GetComponent <NumberDial> ();

        dial.label.text = text;
        numberDial.transform.SetParent(Content, false);
        return(dial);
    }
Ejemplo n.º 4
0
 private void SetMaxes()
 {
     foreach (string abilityName in abilityNamesToDials.Keys)
     {
         NumberDial dial = abilityNamesToDials [abilityName];
         if (NextPointCost(dial.Current) > PointsLeft)
         {
             dial.Max = dial.Current;
         }
         else
         {
             dial.Max = MAX_VALUE_ALLOWED_PER_ABILITY;
         }
     }
 }
Ejemplo n.º 5
0
        private string AbilityNameFromButton(NumberDial dial)
        {
            string ret = abilityNamesToDials.FirstOrDefault(x => x.Value == dial).Key;

            return(ret);
        }