Esempio n. 1
0
 public override string ToString()
 {
     if (duration < 0)
     {
         return(string.Format("{0} {1}\n", amount, StatName.ToString(stat)));
     }
     return(string.Format("{0}{1} <color={4}>{2}</color> for {3} turns\n",
                          amount < 0 ? "" : "+", amount, StatName.ToString(stat), duration, ColorPallete.GetStatHexColor(stat)));
 }
 public Stat Stat(StatName name)
 {
     try
     {
         return(_dictionary[name]);
     }
     catch
     {
         MainPage.LogTrace.TraceMessageAsync("Bad StatName: " + name.ToString());
         return(null);
     }
 }
Esempio n. 3
0
        private static ITimeReport GetInstance(StatName sn)
        {
            if (s_Dic == null)
            {
                s_Dic = new Dictionary <StatName, ITimeReport>();
            }
            if (s_Dic.ContainsKey(sn))
            {
                return(s_Dic[sn]);
            }
            ITimeReport report = DataAccess.CreateTimeReport(sn.ToString());

            s_Dic.Add(sn, report);
            return(report);
        }
 public void AppraiseActionAsReceiver(Action action)
 {
     if (action.TargetEffect != null)
     {
         StatName stat   = action.TargetEffect.Stat;
         float    change = action.TargetEffect.Change;
         if (stat != StatName.None)
         {
             if ((int)stat > 0 && (int)stat < Precondition.physicalIndex)
             {
                 AddToValue(stat.ToString(), change);
             }
         }
     }
 }
Esempio n. 5
0
 public override string ToString()
 {
     return(name.ToString() + ": " + value);
 }
    private bool SatisfiesStat(Action action, Precondition goalCondition, GameObject targetCharacter)
    {
        if (goalCondition.Stat == StatName.None)
        {
            return(true);
        }
        if (action.TargetObject == targetCharacter)
        {
            StatName         stat       = goalCondition.Stat;
            StatName         actionStat = action.TargetEffect.Stat;
            BooleanCondition condition  = goalCondition.BoolCondition;
            float            change     = action.TargetEffect.Change;

            if (goalCondition.Stat != StatName.None && stat == actionStat)
            {
                EmotionalPersonalityModel epm = action.TargetObject.GetComponent <EmotionalPersonalityModel>();
                PhysicalResourceModel     prm = action.TargetObject.GetComponent <PhysicalResourceModel>();

                if (condition == BooleanCondition.LessThan)
                {
                    if (change < 0.0f)
                    {
                        return(true);
                    }
                }
                else if (condition == BooleanCondition.GreaterThan)
                {
                    if (change > 0.0f)
                    {
                        return(true);
                    }
                }
                else if (condition == BooleanCondition.GreaterThanOrEqualTo)
                {
                    if ((int)stat > 0 && (int)stat < Precondition.physicalIndex)
                    {
                        if (change > 0.0f || ((float)epm.GetEmotionValue(stat.ToString()) + change == goalCondition.Value))
                        {
                            return(true);
                        }
                    }
                    else if ((int)stat >= Precondition.physicalIndex && (int)stat < Precondition.limitIndex)
                    {
                        if (change > 0.0f || ((float)prm.GetPhysicalValue(stat.ToString()) + change == goalCondition.Value))
                        {
                            return(true);
                        }
                    }
                }
                else if (condition == BooleanCondition.LessThanOrEqualTo)
                {
                    if ((int)stat > 0 && (int)stat < Precondition.physicalIndex)
                    {
                        if (change < 0.0f || ((float)epm.GetEmotionValue(stat.ToString()) + change == goalCondition.Value))
                        {
                            return(true);
                        }
                    }
                    else if ((int)stat >= Precondition.physicalIndex && (int)stat < Precondition.limitIndex)
                    {
                        if (change < 0.0f || ((float)prm.GetPhysicalValue(stat.ToString()) + change == goalCondition.Value))
                        {
                            return(true);
                        }
                    }
                }
                else if (condition == BooleanCondition.EqualTo)
                {
                    if ((int)stat > 0 && (int)stat < Precondition.physicalIndex)
                    {
                        if ((float)epm.GetEmotionValue(stat.ToString()) + change == goalCondition.Value)
                        {
                            return(true);
                        }
                    }
                    else if ((int)stat >= Precondition.physicalIndex && (int)stat < Precondition.limitIndex)
                    {
                        if ((float)prm.GetPhysicalValue(stat.ToString()) + change == goalCondition.Value)
                        {
                            return(true);
                        }
                    }
                }
            }
        }
        return(false);
    }
Esempio n. 7
0
 protected override void UseAbility(InputAction.CallbackContext ctx, Vector2 inputDirection)
 {
     Debug.Log(string.Format("{0}/{1} tick:{2}", currentDuration, maxDuration, tickingAbility));
     bonusHandle = playerAbilities.stats.GetStat(statToBuff)?.AddAdditiveModifier(buffAmount);
     Debug.Log(string.Format("Buffing {1} by {0}", buffAmount, statToBuff.ToString()));
 }