コード例 #1
0
        internal static BuffDesc BuildBuffDesc(Buff item, ParsedEvtcLog log)
        {
            var buffDesc = new BuffDesc();

            buffDesc.Name     = item.Name;
            buffDesc.Icon     = item.Link;
            buffDesc.Stacking = item.Type == Buff.BuffType.Intensity;
            BuffInfoEvent buffInfoEvent = log.CombatData.GetBuffInfoEvent(item.ID);

            if (buffInfoEvent != null)
            {
                var descriptions = new List <string>()
                {
                    "Max Stack(s) " + item.Capacity
                };
                if (item.DurationCap > 0)
                {
                    descriptions.Add("Duration Cap: " + item.DurationCap + " seconds");
                }
                foreach (BuffFormula formula in buffInfoEvent.Formulas)
                {
                    if (formula.IsConditional)
                    {
                        continue;
                    }
                    string desc = formula.GetDescription(false, log.Buffs.BuffsByIds);
                    if (desc.Length > 0)
                    {
                        descriptions.Add(desc);
                    }
                }
                buffDesc.Descriptions = descriptions;
            }
            return(buffDesc);
        }
コード例 #2
0
 public void SetBuffInfo(int id, string desc, UITexture t)
 {
     if (buffdic.ContainsKey(id))
     {
         return;
     }
     else
     {
         BuffDesc Item = GameObject.Instantiate(buffdesc) as BuffDesc;
         Item.init(t, desc);
         Item.transform.SetParent(gridBuff, false);
         Item.transform.localPosition = new Vector3(-(buffdic.Count * 90), 0, Item.transform.position.z);
         buffdic.Add(id, Item);
     }
 }
コード例 #3
0
    public static int Awake(IntPtr l)
    {
        int result;

        try
        {
            BuffDesc buffDesc = (BuffDesc)LuaObject.checkSelf(l);
            buffDesc.m_luaExportHelper.Awake();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
コード例 #4
0
    public static int SetTime(IntPtr l)
    {
        int result;

        try
        {
            BuffDesc buffDesc = (BuffDesc)LuaObject.checkSelf(l);
            int      time;
            LuaObject.checkType(l, 2, out time);
            buffDesc.SetTime(time);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
コード例 #5
0
    public static int AppendDebugText(IntPtr l)
    {
        int result;

        try
        {
            BuffDesc buffDesc = (BuffDesc)LuaObject.checkSelf(l);
            string   txt;
            LuaObject.checkType(l, 2, out txt);
            buffDesc.AppendDebugText(txt);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
コード例 #6
0
    public static int set_m_buffInfo(IntPtr l)
    {
        int result;

        try
        {
            BuffDesc           buffDesc = (BuffDesc)LuaObject.checkSelf(l);
            ConfigDataBuffInfo buffInfo;
            LuaObject.checkType <ConfigDataBuffInfo>(l, 2, out buffInfo);
            buffDesc.m_luaExportHelper.m_buffInfo = buffInfo;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
コード例 #7
0
    public static int set_m_timeText(IntPtr l)
    {
        int result;

        try
        {
            BuffDesc buffDesc = (BuffDesc)LuaObject.checkSelf(l);
            Text     timeText;
            LuaObject.checkType <Text>(l, 2, out timeText);
            buffDesc.m_luaExportHelper.m_timeText = timeText;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
コード例 #8
0
    public static int SetBuff(IntPtr l)
    {
        int result;

        try
        {
            BuffDesc           buffDesc = (BuffDesc)LuaObject.checkSelf(l);
            ConfigDataBuffInfo buff;
            LuaObject.checkType <ConfigDataBuffInfo>(l, 2, out buff);
            buffDesc.SetBuff(buff);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
コード例 #9
0
    public static int set_m_image(IntPtr l)
    {
        int result;

        try
        {
            BuffDesc buffDesc = (BuffDesc)LuaObject.checkSelf(l);
            Image    image;
            LuaObject.checkType <Image>(l, 2, out image);
            buffDesc.m_luaExportHelper.m_image = image;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
コード例 #10
0
        internal static BuffDesc BuildBuffDesc(Buff item, ParsedEvtcLog log)
        {
            var buffDesc = new BuffDesc
            {
                Name     = item.Name,
                Icon     = item.Link,
                Stacking = item.Type == Buff.BuffType.Intensity,
                ConversionBasedHealing = log.CombatData.HasEXTHealing ? log.CombatData.EXTHealingCombatData.GetHealingType(item, log) == GW2EIEvtcParser.Extensions.HealingStatsExtensionHandler.EXTHealingType.ConversionBased : false,
                HybridHealing          = log.CombatData.HasEXTHealing ? log.CombatData.EXTHealingCombatData.GetHealingType(item, log) == GW2EIEvtcParser.Extensions.HealingStatsExtensionHandler.EXTHealingType.Hybrid : false
            };
            BuffInfoEvent buffInfoEvent = log.CombatData.GetBuffInfoEvent(item.ID);

            if (buffInfoEvent != null)
            {
                var descriptions = new List <string>()
                {
                    "Max Stack(s) " + buffInfoEvent.MaxStacks
                };
                if (buffInfoEvent.DurationCap > 0)
                {
                    descriptions.Add("Duration Cap: " + Math.Round(buffInfoEvent.DurationCap / 1000.0, 3) + " seconds");
                }
                foreach (BuffFormula formula in buffInfoEvent.Formulas)
                {
                    if (formula.IsConditional)
                    {
                        continue;
                    }
                    string desc = formula.GetDescription(false, log.Buffs.BuffsByIds);
                    if (desc.Length > 0)
                    {
                        descriptions.Add(desc);
                    }
                }
                buffDesc.Descriptions = descriptions;
            }
            return(buffDesc);
        }