protected override void InitNormalDelivery(int index, Transform t)
    {
        SetEvent(t, "SELECT_EXPLORE", index);
        DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)deliveryInfo[index].dId);

        SetupDeliveryListItem(t, deliveryTableData);
    }
    protected virtual void InitCompletedDelivery(int completedIndex, Transform t)
    {
        DeliveryTable.DeliveryData deliveryData = clearedDeliveries[completedIndex];
        bool flag = false;

        if (deliveryData != null)
        {
            QuestTable.QuestTableData questData = deliveryData.GetQuestData();
            if (questData != null && questData.questType == QUEST_TYPE.HAPPEN)
            {
                flag = true;
            }
        }
        if (flag)
        {
            SetEvent(t, "SELECT_COMPLETED_DELIVERY_HAPPEN", completedIndex);
        }
        else
        {
            SetEvent(t, "SELECT_COMPLETED_DELIVERY", completedIndex);
        }
        SetupDeliveryListItem(t, deliveryData);
        SetActive(t, UI.OBJ_REQUEST_COMPLETED, true);
        SetCompletedHaveCount(t, deliveryData);
    }
Ejemplo n.º 3
0
    public override void Initialize()
    {
        base.Initialize();
        arenaData = Singleton <ArenaTable> .I.GetArenaData(MonoBehaviourSingleton <QuestManager> .I.currentArenaId);

        deliveryData = (GameSection.GetEventData() as DeliveryTable.DeliveryData);
    }
	protected override void UpdateGrid()
	{
		int num = deliveryInfo.Length + clearedDeliveries.Count;
		if (deliveryInfo == null || num == 0)
		{
			SetActive((Enum)UI.STR_DELIVERY_NON_LIST, true);
			SetActive((Enum)UI.GRD_DELIVERY_QUEST, false);
		}
		else
		{
			SetActive((Enum)UI.STR_DELIVERY_NON_LIST, false);
			SetActive((Enum)UI.GRD_DELIVERY_QUEST, true);
			SetDynamicList((Enum)UI.GRD_DELIVERY_QUEST, "QuestRequestItemRush", num, false, (Func<int, bool>)null, (Func<int, Transform, Transform>)null, (Action<int, Transform, bool>)delegate(int i, Transform t, bool is_recycle)
			{
				SetActive(t, true);
				DeliveryTable.DeliveryData deliveryData = null;
				bool flag = i >= deliveryInfo.Length;
				if (!flag)
				{
					SetEvent(t, "SELECT_RUSH", i);
					deliveryData = Singleton<DeliveryTable>.I.GetDeliveryTableData((uint)deliveryInfo[i].dId);
				}
				else
				{
					SetEvent(t, "SELECT_COMPLETED_RUSH", i - deliveryInfo.Length);
					deliveryData = clearedDeliveries[i - deliveryInfo.Length];
				}
				SetupDeliveryListItem(t, deliveryData);
				SetActive(t, UI.OBJ_REQUEST_COMPLETED, flag);
				SetSprite(t, UI.SPR_FRAME, "RequestPlate_Rush");
			});
		}
	}
    protected virtual List <DeliveryTable.DeliveryData> CreateClearedDliveryList()
    {
        List <DeliveryTable.DeliveryData> list = new List <DeliveryTable.DeliveryData>();
        List <ClearStatusDelivery>        clearStatusDelivery = MonoBehaviourSingleton <DeliveryManager> .I.clearStatusDelivery;
        int i = 0;

        for (int count = clearStatusDelivery.Count; i < count; i++)
        {
            ClearStatusDelivery d = clearStatusDelivery[i];
            if (d.deliveryStatus == 3)
            {
                DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)d.deliveryId);

                if (deliveryTableData.eventID == eventData.eventId && !Array.Exists(deliveryInfo, (Delivery x) => x.dId == d.deliveryId))
                {
                    list.Add(deliveryTableData);
                    if (deliveryTableData.clearEventID != 0)
                    {
                        string value = deliveryTableData.clearEventTitle;
                        if (string.IsNullOrEmpty(value))
                        {
                            value = deliveryTableData.name;
                        }
                        stories.Add(new Story((int)deliveryTableData.clearEventID, value));
                    }
                }
            }
        }
        return(list);
    }
Ejemplo n.º 6
0
    public bool IsExistNotClearDelivery(DELIVERY_CONDITION_TYPE[] conditionTypeList)
    {
        int i = 0;

        for (int count = delivery.Count; i < count; i++)
        {
            if (delivery[i].dId > 0)
            {
                DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)delivery[i].dId);

                if (deliveryTableData != null && deliveryTableData.needs != null && deliveryTableData.needs.Length > 0)
                {
                    int j = 0;
                    for (int num = deliveryTableData.needs.Length; j < num; j++)
                    {
                        DeliveryTable.DeliveryData.NeedData needData = deliveryTableData.needs[j];
                        if (needData != null && conditionTypeList.Contains(needData.conditionType) && !IsClearDelivery(deliveryTableData.id))
                        {
                            return(true);
                        }
                    }
                }
            }
        }
        return(false);
    }
Ejemplo n.º 7
0
 public bool IsClearTutorialDelivery(DeliveryTable.DeliveryData table, ClearStatusDelivery target_delivery_clear_status)
 {
     if (!TutorialStep.IsPlayingFirstBackHome() && !TutorialStep.IsPlayingFirstDelivery())
     {
         return(false);
     }
     if (TutorialStep.IsPlayingFirstDelivery())
     {
         if (table == null || table.needs == null)
         {
             return(false);
         }
         if (target_delivery_clear_status.needCount.Count < table.needs.Length)
         {
             return(false);
         }
         int i = 0;
         for (int num = table.needs.Length; i < num; i++)
         {
             if (target_delivery_clear_status.needCount[i] < (int)table.needs[i].needNum)
             {
                 return(false);
             }
         }
     }
     return(true);
 }
Ejemplo n.º 8
0
 public override void Setup(Transform t, DeliveryTable.DeliveryData info)
 {
     SetActive(t, UI.SPR_BEST_TIME, false);
     SetActive(t, UI.LBL_BEST_TIME, false);
     InitArenaData(info);
     base.Setup(t, info);
 }
    private List <DeliveryTable.DeliveryData> CreateClearedDliveryList(ARENA_RANK borderRank)
    {
        List <DeliveryTable.DeliveryData> list = new List <DeliveryTable.DeliveryData>();
        List <ClearStatusDelivery>        clearStatusDelivery = MonoBehaviourSingleton <DeliveryManager> .I.clearStatusDelivery;
        int i = 0;

        for (int count = clearStatusDelivery.Count; i < count; i++)
        {
            ClearStatusDelivery d = clearStatusDelivery[i];
            if (d.deliveryStatus == 3)
            {
                DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)d.deliveryId);

                if (deliveryTableData.eventID == eventData.eventId && !Array.Exists(deliveryInfo, (Delivery x) => x.dId == d.deliveryId))
                {
                    ArenaTable.ArenaData arenaData = deliveryTableData.GetArenaData();
                    if (arenaData != null && arenaData.rank >= borderRank && deliveryTableData.GetConditionType(0u) != DELIVERY_CONDITION_TYPE.COMPLETE_DELIVERY_ID)
                    {
                        list.Add(deliveryTableData);
                        if (deliveryTableData.clearEventID != 0)
                        {
                            string text = deliveryTableData.clearEventTitle;
                            if (string.IsNullOrEmpty(text))
                            {
                                text = deliveryTableData.name;
                            }
                            stories.Add(new Story((int)deliveryTableData.clearEventID, text));
                        }
                    }
                }
            }
        }
        return(list);
    }
Ejemplo n.º 10
0
    private List <DeliveryDataAndUId> CreateDeliveryList(uint mapId)
    {
        Delivery[] deliveryList = MonoBehaviourSingleton <DeliveryManager> .I.GetDeliveryList(false);

        List <DeliveryDataAndUId> list = new List <DeliveryDataAndUId>();

        if (deliveryList == null)
        {
            return(null);
        }
        int i = 0;

        for (int num = deliveryList.Length; i < num; i++)
        {
            Delivery delivery = deliveryList[i];
            int      dId      = delivery.dId;
            DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)dId);

            if (IsExistTargetEnemy(deliveryTableData, mapId))
            {
                list.Add(new DeliveryDataAndUId(deliveryTableData, delivery.uId));
            }
        }
        return(list);
    }
Ejemplo n.º 11
0
    private new List <DeliveryTable.DeliveryData> CreateClearedDliveryList()
    {
        List <DeliveryTable.DeliveryData> list = new List <DeliveryTable.DeliveryData>();
        List <ClearStatusDelivery>        clearStatusDelivery = MonoBehaviourSingleton <DeliveryManager> .I.clearStatusDelivery;
        int  groupId  = regionData.groupId;
        uint regionId = regionData.regionId;
        int  i        = 0;

        for (int count = clearStatusDelivery.Count; i < count; i++)
        {
            ClearStatusDelivery d = clearStatusDelivery[i];
            if (d.deliveryStatus == 3)
            {
                DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)d.deliveryId);

                if ((deliveryTableData.type == DELIVERY_TYPE.STORY || deliveryTableData.type == DELIVERY_TYPE.ONCE) && (deliveryTableData.regionId == regionId || (groupId > 0 && deliveryTableData.regionId == groupId)) && !Array.Exists(deliveryInfo, (Delivery x) => x.dId == d.deliveryId))
                {
                    list.Add(deliveryTableData);
                    if (deliveryTableData.clearEventID != 0)
                    {
                        string text = deliveryTableData.clearEventTitle;
                        if (string.IsNullOrEmpty(text))
                        {
                            text = deliveryTableData.name;
                        }
                        stories.Add(new Story((int)deliveryTableData.clearEventID, text));
                    }
                }
            }
        }
        return(list);
    }
    private void OnQuery_SELECT_COMPLETED_RUSH()
    {
        int index = (int)GameSection.GetEventData();

        DeliveryTable.DeliveryData deliveryData = clearedDeliveries[index];
        if (deliveryData.GetConditionType(0u) == DELIVERY_CONDITION_TYPE.COMPLETE_DELIVERY_ID)
        {
            int id = (int)deliveryData.id;
            DeliveryRewardList deliveryRewardList = new DeliveryRewardList();
            GameSection.SetEventData(new object[3]
            {
                id,
                deliveryRewardList,
                true
            });
        }
        else
        {
            ArenaTable.ArenaData arenaData = deliveryData.GetArenaData();
            MonoBehaviourSingleton <QuestManager> .I.SetCurrentQuestID((uint)arenaData.questIds[0], true);

            MonoBehaviourSingleton <QuestManager> .I.SetCurrentArenaId(arenaData.id);

            GameSection.ChangeEvent("TO_ROOM", deliveryData);
        }
    }
    private UI SelectTabByPriority()
    {
        if (normalDeliveryInfo != null)
        {
            int i = 0;
            for (int num = normalDeliveryInfo.Length; i < num; i++)
            {
                DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)normalDeliveryInfo[i].dId);

                if (deliveryTableData.type == DELIVERY_TYPE.STORY)
                {
                    return(UI.BTN_TAB_NORMAL);
                }
            }
        }
        if (dailyDeliveryInfo != null && dailyDeliveryInfo.Length >= 1)
        {
            return(UI.BTN_TAB_DAILY);
        }
        if (normalDeliveryInfo != null && normalDeliveryInfo.Length >= 1)
        {
            return(UI.BTN_TAB_NORMAL);
        }
        if (weeklyDeliveryInfo != null && weeklyDeliveryInfo.Length >= 1)
        {
            return(UI.BTN_TAB_WEEKLY);
        }
        return(UI.BTN_TAB_DAILY);
    }
Ejemplo n.º 14
0
    public uint GetCompletableStoryDelivery()
    {
        if (clearStatusDelivery == null || clearStatusDelivery.Count == 0)
        {
            return(0u);
        }
        uint id = 0u;

        clearStatusDelivery.ForEach(delegate(ClearStatusDelivery data)
        {
            if (data != null && id == 0 && data.deliveryStatus < 3)
            {
                DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)data.deliveryId);
                if (deliveryTableData != null && deliveryTableData.type == DELIVERY_TYPE.STORY)
                {
                    int i = 0;
                    for (int num = deliveryTableData.needs.Length; i < num; i++)
                    {
                        if (deliveryTableData.needs[i].IsValid() && data.GetNeedCount((uint)i) < (uint)deliveryTableData.needs[i].needNum)
                        {
                            return;
                        }
                    }
                    id = deliveryTableData.id;
                }
            }
        });
        return(id);
    }
 protected override void InitCompletedDelivery(int completedIndex, Transform t)
 {
     DeliveryTable.DeliveryData info = clearedDeliveries[completedIndex];
     SetEvent(t, "SELECT_COMPLETED_EXPLORE", completedIndex);
     SetupDeliveryListItem(t, info);
     SetActive(t, UI.OBJ_REQUEST_COMPLETED, true);
     SetCompletedHaveCount(t, info);
 }
    private void SendDeliveryComplete(int index, int delivery_id, bool is_enough_material, bool is_happen_quest)
    {
        DeliveryTable.DeliveryData table = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)deliveryInfo[index].dId);

        changeToDeliveryClearEvent = true;
        bool is_tutorial        = !TutorialStep.HasFirstDeliveryCompleted();
        bool enable_clear_event = table.clearEventID != 0;

        MonoBehaviourSingleton <DeliveryManager> .I.SendDeliveryComplete(deliveryInfo[index].uId, enable_clear_event, delegate(bool is_success, DeliveryRewardList recv_reward)
        {
            if (is_success)
            {
                List <FieldMapTable.PortalTableData> deliveryRelationPortalData = Singleton <FieldMapTable> .I.GetDeliveryRelationPortalData((uint)delivery_id);
                for (int i = 0; i < deliveryRelationPortalData.Count; i++)
                {
                    GameSaveData.instance.newReleasePortals.Add(deliveryRelationPortalData[i].portalID);
                }
                if (is_tutorial)
                {
                    TutorialStep.isSendFirstRewardComplete = true;
                }
                if (!enable_clear_event)
                {
                    MonoBehaviourSingleton <DeliveryManager> .I.isStoryEventEnd = false;
                    if (is_happen_quest)
                    {
                        GameSection.ChangeStayEvent("DELIVERY_REWARD_HAPPEN", new object[2]
                        {
                            delivery_id,
                            recv_reward
                        });
                    }
                    else
                    {
                        GameSection.ChangeStayEvent("DELIVERY_REWARD", new object[2]
                        {
                            delivery_id,
                            recv_reward
                        });
                    }
                }
                else
                {
                    GameSection.ChangeStayEvent("CLEAR_EVENT", new object[3]
                    {
                        (int)table.clearEventID,
                        delivery_id,
                        recv_reward
                    });
                }
            }
            else
            {
                changeToDeliveryClearEvent = false;
            }
            GameSection.ResumeEvent(is_success, null);
        });
    }
 protected virtual void SetFrame(Transform t, DeliveryTable.DeliveryData info)
 {
     DeliveryTable.UIType uIType = info.GetUIType();
     SetActive(t, UI.SPR_TYPE_NORMAL, uIType == DeliveryTable.UIType.NONE);
     SetActive(t, UI.SPR_TYPE_EVENT, uIType == DeliveryTable.UIType.EVENT || uIType == DeliveryTable.UIType.DAILY || uIType == DeliveryTable.UIType.WEEKLY);
     SetActive(t, UI.SPR_TYPE_STORY, uIType == DeliveryTable.UIType.STORY);
     SetActive(t, UI.SPR_TYPE_HARD, uIType == DeliveryTable.UIType.HARD);
     SetActive(t, UI.SPR_TYPE_SUB_EVENT, uIType == DeliveryTable.UIType.SUB_EVENT);
 }
	protected override void InitCompletedDelivery(int completedIndex, Transform t)
	{
		int num = clearedDeliveries.Count - 1 - completedIndex;
		DeliveryTable.DeliveryData info = clearedDeliveries[num];
		SetEvent(t, "SELECT_COMPLETED_RUSH", num);
		SetupDeliveryListItem(t, info);
		SetActive(t, UI.OBJ_REQUEST_COMPLETED, true);
		SetCompletedHaveCount(t, info);
	}
    protected virtual void GetDeliveryList()
    {
        deliveryInfo = MonoBehaviourSingleton <DeliveryManager> .I.GetDeliveryList(true);

        List <Delivery> list = new List <Delivery>();
        int             i    = 0;

        for (int num = deliveryInfo.Length; i < num; i++)
        {
            Delivery delivery = deliveryInfo[i];
            DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)delivery.dId);

            if (deliveryTableData == null)
            {
                Log.Warning("DeliveryTable Not Found : dId " + delivery.dId);
            }
            else if (IsVisibleDelivery(delivery, deliveryTableData))
            {
                NPCTable.NPCData nPCData = Singleton <NPCTable> .I.GetNPCData((int)deliveryTableData.npcID);

                if (nPCData == null)
                {
                    Log.Error("DeliveryTable NPC ID Found  : dId " + delivery.dId + " : npcID " + deliveryTableData.npcID);
                }
                else
                {
                    list.Add(deliveryInfo[i]);
                }
            }
        }
        deliveryInfo = list.ToArray();
        List <Delivery> list2 = new List <Delivery>();
        List <Delivery> list3 = new List <Delivery>();
        List <Delivery> list4 = new List <Delivery>();

        Delivery[] array = deliveryInfo;
        foreach (Delivery delivery2 in array)
        {
            switch (delivery2.type)
            {
            case 0:
                list3.Add(delivery2);
                break;

            case 10:
                list4.Add(delivery2);
                break;

            default:
                list2.Add(delivery2);
                break;
            }
        }
        normalDeliveryInfo = list2.ToArray();
        dailyDeliveryInfo  = list3.ToArray();
        weeklyDeliveryInfo = list4.ToArray();
    }
	private void OnQuery_SELECT_RUSH()
	{
		int num = (int)GameSection.GetEventData();
		bool flag = MonoBehaviourSingleton<DeliveryManager>.I.IsCompletableDelivery(deliveryInfo[num].dId);
		int delivery_id = deliveryInfo[num].dId;
		if (flag)
		{
			DeliveryTable.DeliveryData table = Singleton<DeliveryTable>.I.GetDeliveryTableData((uint)deliveryInfo[num].dId);
			changeToDeliveryClearEvent = true;
			bool is_tutorial = !TutorialStep.HasFirstDeliveryCompleted();
			bool enable_clear_event = table.clearEventID != 0;
			GameSection.StayEvent();
			MonoBehaviourSingleton<DeliveryManager>.I.isStoryEventEnd = false;
			MonoBehaviourSingleton<DeliveryManager>.I.SendDeliveryComplete(deliveryInfo[num].uId, enable_clear_event, delegate(bool is_success, DeliveryRewardList recv_reward)
			{
				if (is_success)
				{
					if (is_tutorial)
					{
						TutorialStep.isSendFirstRewardComplete = true;
					}
					if (!enable_clear_event)
					{
						MonoBehaviourSingleton<DeliveryManager>.I.isStoryEventEnd = false;
						GameSection.ChangeStayEvent("RUSH_REWARD", new object[2]
						{
							delivery_id,
							recv_reward
						});
					}
					else
					{
						GameSection.ChangeStayEvent("CLEAR_EVENT", new object[3]
						{
							(int)table.clearEventID,
							delivery_id,
							recv_reward
						});
					}
				}
				else
				{
					changeToDeliveryClearEvent = false;
				}
				GameSection.ResumeEvent(is_success, null);
			});
		}
		else
		{
			GameSection.SetEventData(new object[2]
			{
				delivery_id,
				null
			});
		}
	}
Ejemplo n.º 21
0
    public static bool IsDeliveryBingo(uint id)
    {
        DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData(id);

        if (deliveryTableData == null)
        {
            return(false);
        }
        return(IsDeliveryBingo(deliveryTableData));
    }
Ejemplo n.º 22
0
    public string GetTargetItemName(int delivery_id, uint idx = 0)
    {
        DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)delivery_id);

        if (deliveryTableData != null)
        {
            return(deliveryTableData.GetNeedItemName(idx));
        }
        return(string.Empty);
    }
Ejemplo n.º 23
0
 private void OnSuccessSend(CardData cardData, DeliveryTable.DeliveryData deliveryData)
 {
     GameSection.ChangeStayEvent("GET_REWARD", new object[2]
     {
         deliveryData,
         cardData.eventData
     });
     GameSection.ResumeEvent(true, null);
     RefreshMissionData(currentCardIndex);
     RefreshUI();
 }
    protected void SetupDeliveryListItem(Transform t, DeliveryTable.DeliveryData info)
    {
        //IL_0014: Unknown result type (might be due to invalid IL or missing references)
        QuestRequestItem questRequestItem = t.GetComponent <QuestRequestItem>();

        if (questRequestItem == null)
        {
            questRequestItem = t.get_gameObject().AddComponent <QuestRequestItem>();
        }
        questRequestItem.InitUI();
        questRequestItem.Setup(t, info);
    }
    private void SetUpCompletedArenaListItem(Transform t, DeliveryTable.DeliveryData info)
    {
        //IL_0014: Unknown result type (might be due to invalid IL or missing references)
        QuestRequestItemArena questRequestItemArena = t.GetComponent <QuestRequestItemArena>();

        if (questRequestItemArena == null)
        {
            questRequestItemArena = t.get_gameObject().AddComponent <QuestRequestItemArena>();
        }
        questRequestItemArena.InitUI();
        questRequestItemArena.SetupComplete(t, info, record);
    }
    private void SetUpArenaListItemRankUp(Transform t, DeliveryTable.DeliveryData info)
    {
        //IL_0014: Unknown result type (might be due to invalid IL or missing references)
        QuestRequestItemArenaRankUp questRequestItemArenaRankUp = t.GetComponent <QuestRequestItemArenaRankUp>();

        if (questRequestItemArenaRankUp == null)
        {
            questRequestItemArenaRankUp = t.get_gameObject().AddComponent <QuestRequestItemArenaRankUp>();
        }
        questRequestItemArenaRankUp.InitUI();
        questRequestItemArenaRankUp.Setup(t, info);
    }
Ejemplo n.º 27
0
    public void CreateDropInfoList(Coop_Model_EnemyDefeat model, out List <DropDeliveryInfo> deliveryList, out List <DropItemInfo> itemList)
    {
        itemList     = new List <DropItemInfo>();
        deliveryList = new List <DropDeliveryInfo>();
        int i = 0;

        for (int count = model.dropIds.Count; i < count; i++)
        {
            itemList.Add(new DropItemInfo((REWARD_TYPE)model.dropTypes[i], (uint)model.dropItemIds[i], model.dropNums[i]));
        }
        int mapId = MonoBehaviourSingleton <FieldManager> .I.GetMapId();

        Delivery[] deliveryList2 = MonoBehaviourSingleton <DeliveryManager> .I.GetDeliveryList(false);

        int j = 0;

        for (int num = deliveryList2.Length; j < num; j++)
        {
            DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)deliveryList2[j].dId);

            if (deliveryTableData != null)
            {
                int k = 0;
                for (int num2 = deliveryTableData.needs.Length; k < num2; k++)
                {
                    uint num3 = (uint)k;
                    if (deliveryTableData.IsNeedTarget(num3, (uint)model.eid, (uint)mapId) && (model.deliver & (1 << (int)deliveryTableData.GetRateType(num3))) > 0)
                    {
                        int have = 0;
                        int need = 0;
                        MonoBehaviourSingleton <DeliveryManager> .I.GetProgressDelivery(deliveryList2[j].dId, out have, out need, num3);

                        if (have < need)
                        {
                            int num4 = 1;
                            if ((model.boostBit & (1 << (int)deliveryTableData.GetRateType(num3))) > 0)
                            {
                                num4 += model.boostNum;
                            }
                            deliveryList.Add(new DropDeliveryInfo(deliveryList2[j].dId, (int)num3, deliveryTableData.name, deliveryTableData.GetNeedItemName(num3), num4, new List <DELIVERY_CONDITION_TYPE>
                            {
                                deliveryTableData.GetConditionType(0u),
                                deliveryTableData.GetConditionType(1u),
                                deliveryTableData.GetConditionType(2u),
                                deliveryTableData.GetConditionType(3u),
                                deliveryTableData.GetConditionType(4u)
                            }));
                        }
                    }
                }
            }
        }
    }
 protected override bool IsVisibleDelivery(Delivery delivery, DeliveryTable.DeliveryData tableData)
 {
     if (eventData == null)
     {
         return(false);
     }
     if (tableData.IsEvent() && tableData.eventID == eventData.eventId)
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 29
0
    private int CountCompletableDeliveryNum(Func <ClearStatusDelivery, DeliveryTable.DeliveryData, bool> condition = null, DELIVERY_TYPE[] delivery_type = null)
    {
        if (clearStatusDelivery == null || clearStatusDelivery.Count == 0)
        {
            return(0);
        }
        int num = 0;

        clearStatusDelivery.ForEach(delegate(ClearStatusDelivery data)
        {
            if (data != null && delivery.FindIndex((Delivery x) => x.dId == data.deliveryId) >= 0 && !IsLimit(data.deliveryId))
            {
                DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)data.deliveryId);
                if ((data.deliveryStatus < 3 || ((deliveryTableData.type == DELIVERY_TYPE.EVENT || deliveryTableData.type == DELIVERY_TYPE.SUB_EVENT) && delivery.Exists((Delivery x) => x.dId == data.deliveryId))) && deliveryTableData.subType != DELIVERY_SUB_TYPE.BINGO && deliveryTableData.subType != DELIVERY_SUB_TYPE.ROW_BINGO && deliveryTableData.subType != DELIVERY_SUB_TYPE.ALL_BINGO)
                {
                    if (delivery_type != null)
                    {
                        bool flag             = false;
                        DELIVERY_TYPE[] array = delivery_type;
                        foreach (DELIVERY_TYPE dELIVERY_TYPE in array)
                        {
                            if (deliveryTableData.type == dELIVERY_TYPE)
                            {
                                flag = true;
                                break;
                            }
                        }
                        if (!flag)
                        {
                            return;
                        }
                    }
                    if (deliveryTableData != null)
                    {
                        int j = 0;
                        for (int num2 = deliveryTableData.needs.Length; j < num2; j++)
                        {
                            if (deliveryTableData.needs[j].IsValid() && data.GetNeedCount((uint)j) < (uint)deliveryTableData.needs[j].needNum)
                            {
                                return;
                            }
                        }
                        if (condition == null || condition(data, deliveryTableData))
                        {
                            num++;
                        }
                    }
                }
            }
        });
        return(num);
    }
	private void OnQuery_SELECT_COMPLETED_RUSH()
	{
		int index = (int)GameSection.GetEventData();
		DeliveryTable.DeliveryData deliveryData = clearedDeliveries[index];
		int id = (int)deliveryData.id;
		DeliveryRewardList deliveryRewardList = new DeliveryRewardList();
		GameSection.SetEventData(new object[3]
		{
			id,
			deliveryRewardList,
			true
		});
	}