private void CreateAnimTable()
    {
        int count = enableBoostList.Count;

        if (count == 0)
        {
            boostDispType = USE_ITEM_EFFECT_TYPE.NONE;
        }
        else
        {
            animTable = new int[count];
            int index = 0;
            enableBoostList.ForEach(delegate(BoostStatus boost)
            {
                animTable[index] = boost.type;
                index++;
            });
            if (boostDispType == USE_ITEM_EFFECT_TYPE.NONE)
            {
                animIndex = 0;
            }
            else
            {
                int num = enableBoostList.FindIndex((BoostStatus data) => data.type == (int)boostDispType);
                animIndex = ((num != -1) ? num : 0);
            }
            boostDispType = (USE_ITEM_EFFECT_TYPE)animTable[animIndex];
        }
    }
    public void SetupUI(Action <BoostStatus> update_callback, Action <BoostStatus> change_callback)
    {
        enableBoostList.Clear();
        BoostStatus boostStatus = MonoBehaviourSingleton <StatusManager> .I.GetBoostStatus(USE_ITEM_EFFECT_TYPE.EXP_UP);

        if (boostStatus != null)
        {
            enableBoostList.Add(boostStatus);
        }
        BoostStatus boostStatus2 = MonoBehaviourSingleton <StatusManager> .I.GetBoostStatus(USE_ITEM_EFFECT_TYPE.MONEY_UP);

        if (boostStatus2 != null)
        {
            enableBoostList.Add(boostStatus2);
        }
        BoostStatus boostStatus3 = MonoBehaviourSingleton <StatusManager> .I.GetBoostStatus(USE_ITEM_EFFECT_TYPE.DROP_UP);

        if (boostStatus3 != null)
        {
            enableBoostList.Add(boostStatus3);
        }
        BoostStatus boostStatus4 = MonoBehaviourSingleton <StatusManager> .I.GetBoostStatus(USE_ITEM_EFFECT_TYPE.EVENT_POINT_UP);

        if (boostStatus4 != null)
        {
            if (!MonoBehaviourSingleton <UIPlayerStatus> .IsValid() && !MonoBehaviourSingleton <UIEnduranceStatus> .IsValid())
            {
                enableBoostList.Add(boostStatus4);
            }
            else if (MonoBehaviourSingleton <UIPlayerStatus> .IsValid() && MonoBehaviourSingleton <UIPlayerStatus> .I.PermitHGPBoostUpdate)
            {
                enableBoostList.Add(boostStatus4);
            }
            else if (MonoBehaviourSingleton <UIEnduranceStatus> .IsValid() && MonoBehaviourSingleton <UIEnduranceStatus> .I.PermitHGPBoostUpdate)
            {
                enableBoostList.Add(boostStatus4);
            }
        }
        USE_ITEM_EFFECT_TYPE uSE_ITEM_EFFECT_TYPE = boostDispType;

        CreateAnimTable();
        updateCallback = update_callback;
        changeCallback = change_callback;
        if (uSE_ITEM_EFFECT_TYPE != boostDispType || boostDispType == USE_ITEM_EFFECT_TYPE.NONE)
        {
            changeCallback(GetShowBoostStatus());
        }
    }
Esempio n. 3
0
        public static bool cb(CSVReader csv_reader, ItemData data, ref uint key)
        {
            data.id = key;
            csv_reader.Pop(ref data.type);
            csv_reader.Pop(ref data.getType);
            csv_reader.Pop(ref data.eventId);
            csv_reader.Pop(ref data.name);
            csv_reader.Pop(ref data.text);
            csv_reader.Pop(ref data.enemyIconID);
            csv_reader.Pop(ref data.enemyIconID2);
            csv_reader.Pop(ref data.rarity);
            csv_reader.Pop(ref data.iconID);
            csv_reader.Pop(ref data.price);
            csv_reader.Pop(ref data.cantSale);
            csv_reader.Pop(ref data.element);
            List <USE_ITEM_EFFECT_TYPE> list = new List <USE_ITEM_EFFECT_TYPE>();

            for (int i = 0; i < 3; i++)
            {
                USE_ITEM_EFFECT_TYPE value = USE_ITEM_EFFECT_TYPE.NONE;
                csv_reader.Pop(ref value);
                if (value != 0)
                {
                    list.Add(value);
                }
            }
            data.useEffectTypes = list.ToArray();
            csv_reader.Pop(ref data.effectTime);
            string value2 = string.Empty;

            csv_reader.Pop(ref value2);
            if (!string.IsNullOrEmpty(value2))
            {
                DateTime.TryParse(value2, out data.startDate);
            }
            string value3 = string.Empty;

            csv_reader.Pop(ref value3);
            if (!string.IsNullOrEmpty(value3))
            {
                DateTime.TryParse(value3, out data.endDate);
            }
            return(true);
        }
    private void ShowNextBoost(bool is_recommend_change)
    {
        animIndex++;
        if (animIndex >= animTable.Length)
        {
            animIndex = 0;
        }
        USE_ITEM_EFFECT_TYPE uSE_ITEM_EFFECT_TYPE = boostDispType;

        boostDispType = (USE_ITEM_EFFECT_TYPE)animTable[animIndex];
        if (uSE_ITEM_EFFECT_TYPE != boostDispType || is_recommend_change)
        {
            changeCallback(GetShowBoostStatus());
        }
        else
        {
            updateCallback(GetShowBoostStatus());
        }
    }
    private void ChangeShowBoost(USE_ITEM_EFFECT_TYPE type)
    {
        //IL_0006: Unknown result type (might be due to invalid IL or missing references)
        //IL_001d: Unknown result type (might be due to invalid IL or missing references)
        boostRate.get_gameObject().SetActive(type != USE_ITEM_EFFECT_TYPE.NONE);
        boostTime.get_gameObject().SetActive(type != USE_ITEM_EFFECT_TYPE.NONE);
        int i = 0;

        for (int num = boostItems.Length; i < num; i++)
        {
            bool flag = boostItems[i].type == type;
            boostItems[i].obj.SetActive(flag);
            if (flag)
            {
                panelChange.UnLock();
                boostItems[i].anim.Reset();
                boostItems[i].anim.Play(true, delegate
                {
                    panelChange.Lock();
                });
            }
        }
    }
 private void EndShowBoost()
 {
     boostDispType = USE_ITEM_EFFECT_TYPE.NONE;
     changeCallback(GetShowBoostStatus());
 }