Beispiel #1
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);
    }
Beispiel #2
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)
                            }));
                        }
                    }
                }
            }
        }
    }