Пример #1
0
    private float GetBuff(BattleStatusData.TypeEnum valueType)
    {
        float value;
        float total;
        Buff  buff;

        total = BattleFieldManager.Instance.GetFieldBuff(Position, valueType);

        foreach (KeyValuePair <int, BattleStatus> item in StatusDic)
        {
            if (item.Value is Buff && ((Buff)item.Value).Type == valueType)
            {
                buff = (Buff)item.Value;
                if (valueType == BattleStatusData.TypeEnum.MOV)
                {
                    value  = buff.Value;
                    total += value;
                }
                else
                {
                    value  = (float)buff.Value;
                    total *= value;
                }
            }
        }

        return(total);
    }
Пример #2
0
    public Buff(BattleStatusData.TypeEnum type, int value) //計算機用的
    {
        Type  = type;
        Value = value;

        if (type != BattleStatusData.TypeEnum.MOV)
        {
            Value /= 100f;
        }
    }
Пример #3
0
    public float GetFieldBuff(Vector2 position, BattleStatusData.TypeEnum valueType)
    {
        BattleField battleField;

        MapDic.TryGetValue(Vector2Int.RoundToInt(position), out battleField);
        if (battleField != null && battleField.Status is Buff)
        {
            Buff buff = (Buff)battleField.Status;
            if (buff != null && buff.Type == valueType)
            {
                return(buff.Value);
            }
            else
            {
                if (valueType == BattleStatusData.TypeEnum.MOV)
                {
                    return(0);
                }
                else
                {
                    return(1);
                }
            }
        }
        else
        {
            if (valueType == BattleStatusData.TypeEnum.MOV)
            {
                return(0);
            }
            else
            {
                return(1);
            }
        }
    }
Пример #4
0
    public Buff(int id, int lv)
    {
        Data = BattleStatusData.GetData(id);
        Type = Data.ValueType;
        if (Data.ValueList.Count >= lv)
        {
            Value = Data.ValueList[lv - 1];
        }
        else
        {
            Value = Data.ValueList[0];
        }

        if (Data.ValueType != BattleStatusData.TypeEnum.MOV)
        {
            Value /= 100f;
        }

        RemainTurn = Data.Turn;
        Message    = Data.Message;
        Icon       = Data.Icon;

        Comment = Data.GetComment(lv);
    }