public void ChangeStats(UnitStatsProperty stat, int amount, bool set = false, bool force = false)
    {
        if (stat == UnitStatsProperty.DUR)
        {
            Debug.LogError("Status should not change Durability");
        }

        if (m_Stats.ContainsKey(stat))
        {
            if (set)
            {
                m_Stats[stat] = amount;
            }
            else
            {
                m_Stats[stat] += amount;
            }
        }
        else if (force)
        {
            m_Stats.Add(stat, amount);
        }
        else
        {
            Debug.LogError("Can't Change " + stat + ": Stats Doesn't Exist");
        }
    }
    public int GetStat(UnitStatsProperty stat)
    {
        int value;

        m_Stats.TryGetValue(stat, out value);
        //Debug.Log(m_Owner + " has Status: [" + stat + ":" + value + "]");
        return(value);
    }
    public string GetText(UnitStatsProperty property)
    {
        AllText allText = AllText.Instance;

        if (allText != null)
        {
            return(allText.GetText(property.ToString()));
        }
        else
        {
            return(property.ToString());
        }
    }
    public void Display(UnitStatsProperty statsProperty, int value)
    {
        if (StatsDisplayReference.Instance.boolProperties.Contains(statsProperty))
        {
            m_Value.gameObject.SetActive(false);

            m_bool.Display(value > 0);
        }
        else
        {
            m_bool.gameObject.SetActive(false);

            m_Value.text = value.ToString();
        }

        m_Label.text = AllTextEnumProxy.Instance.GetText(statsProperty);

        ChangeTootltip(statsProperty);
    }
    private void ChangeTootltip(UnitStatsProperty statsProperty)
    {
        //Debug.Log("Change Tooltip");
        if (tooltip == null)
        {
            return;
        }

        TextProperty tip = StatsDisplayReference.Instance.tooltipList[(int)statsProperty];

        if (tip == null)
        {
            tooltip.enabled = false;
        }
        else
        {
            tooltip.enabled   = true;
            tooltip.m_Tooltip = tip.ToString();
        }
    }
Ejemplo n.º 6
0
    public int GetStat(UnitStatsProperty stat)
    {
        if (m_Stats == null)
        {
            InitStats();
        }

        int value;

        m_Stats.TryGetValue(stat, out value);

        //Debug.Log(m_Owner + " has [" + stat + ":" + value + "]");

        if (m_Owner != null)
        {
            int deltaValue = m_Owner.m_Status.GetStat(stat);
            value += deltaValue;
        }

        return(value);
    }
Ejemplo n.º 7
0
    /// <summary>
    /// Change unit's stats.
    /// </summary>
    /// <param name="stat">The field to change</param>
    /// <param name="amount">The value of change</param>
    /// <param name="set">True if replace original value with amount. False if original value += amount</param>
    /// <param name="force">True if add new field when needed</param>
    public void ChangeStats(UnitStatsProperty stat, int amount, bool set = false, bool force = false)
    {
        if (m_Owner == null)
        {
            return;
        }

        //Debug.Log(m_Owner + " " + stat + " : " + GetStat(stat));
        UnitStatsChangeData eventData = new UnitStatsChangeData();

        eventData.m_Unit         = m_Owner;
        eventData.m_ChangedStats = stat;

        eventData.m_BeforeChange = GetStat(stat);

        PrivateChangeStats(stat, amount, set, force);

        eventData.m_AfterChange = GetStat(stat);

        m_StatsChangedEventForDisplay.Trigger(eventData);
        m_StatsChangedEventForUnits.Trigger(m_Owner, eventData);
        //Debug.Log(m_Owner + " " + stat + " Change to: " + GetStat(stat));
    }
Ejemplo n.º 8
0
    private void PrivateChangeStats(UnitStatsProperty stat, int amount, bool set, bool force)
    {
        TriggerSFX(amount);

        if (m_Stats.ContainsKey(stat))
        {
            if (set)
            {
                m_Stats[stat] = amount;
            }
            else
            {
                m_Stats[stat] += amount;
            }
        }
        else if (force)
        {
            m_Stats.Add(stat, amount);
        }
        else
        {
            Debug.LogError("Can't Change " + stat + ": Stats Doesn't Exist");
        }
    }