public override bool ParseDataFromNDT(TsDataReader dr)
 {
     foreach (TsDataReader.Row data in dr)
     {
         ITEM_COMPOSE iTEM_COMPOSE = new ITEM_COMPOSE();
         iTEM_COMPOSE.SetData(data);
         NrTSingleton <ITEM_COMPOSE_Manager> .Instance.Set_Value(iTEM_COMPOSE);
     }
     return(true);
 }
예제 #2
0
 public void Set_Value(ITEM_COMPOSE a_cValue)
 {
     if (!this.m_sdCollection.ContainsKey((long)a_cValue.m_nComposeProductionID))
     {
         this.m_sdCollection.Add((long)a_cValue.m_nComposeProductionID, a_cValue);
     }
     else
     {
         Debug.LogWarning("ITEM_COMPOSE Set_Value is already set. ID = " + a_cValue.m_nComposeProductionID.ToString());
     }
 }
예제 #3
0
    public bool CheckComposeItem(ITEM_COMPOSE a_cProduction, int a_nMaterialItemUnique)
    {
        ITEM_COMPOSE_Manager.Compose_Material_Item[] array = this.ComposeItem_MaterialList(a_cProduction);
        bool result = false;

        for (int i = 0; i < array.Length; i++)
        {
            int nItemUnique = array[i].m_nItemUnique;
            if (nItemUnique > 0 && a_nMaterialItemUnique > 0 && nItemUnique == a_nMaterialItemUnique)
            {
                result = true;
            }
        }
        return(result);
    }
예제 #4
0
    public ITEM_COMPOSE_Manager.Compose_Material_Item[] ComposeItem_MaterialList(ITEM_COMPOSE a_sInfo)
    {
        List <ITEM_COMPOSE_Manager.Compose_Material_Item> list = new List <ITEM_COMPOSE_Manager.Compose_Material_Item>();

        for (int i = 0; i < 10; i++)
        {
            int num  = a_sInfo.m_nMaterialItemUnique[i];
            int num2 = a_sInfo.m_nMaterialItemNum[i];
            if (num > 0 && num2 > 0)
            {
                ITEM_COMPOSE_Manager.Compose_Material_Item item;
                item.m_nItemUnique  = num;
                item.m_shItemNumber = num2;
                item.m_strItemName  = NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(num);

                item.m_t2ItemIcon = NrTSingleton <ItemManager> .Instance.GetItemTexture(num);

                list.Add(item);
            }
        }
        return(list.ToArray());
    }
예제 #5
0
    public override void InitData()
    {
        int p_nCharKind = base.p_nCharKind;

        if (p_nCharKind <= 0)
        {
            return;
        }
        if (this.m_BaseComposeData == null)
        {
            this.m_BaseComposeData = NrTSingleton <ITEM_COMPOSE_Manager> .Instance.GetComposeItemByNPCKIND(p_nCharKind);

            if (this.m_BaseComposeData == null)
            {
                return;
            }
        }
        this.m_itSelectItem.SetItemTexture(this.m_BaseComposeData.m_nComposeItemUnique);
        this.m_lbSelectItem.SetText(NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(this.m_BaseComposeData.m_nComposeItemUnique));
        this.m_NowSelectItemCount = 1;
        this.ReloadSelectItemCount();
        this.ReloadMaterialList();
    }
예제 #6
0
    public int CanComposeItemNum(ITEM_COMPOSE a_cProduction, int a_nComposeItemNum)
    {
        ITEM_COMPOSE_Manager.Compose_Material_Item[] array = this.ComposeItem_MaterialList(a_cProduction);
        int num  = 99999;
        int num2 = 0;

        if (a_nComposeItemNum == -1)
        {
            a_nComposeItemNum = num;
        }
        for (int i = 0; i < array.Length; i++)
        {
            int nItemUnique = array[i].m_nItemUnique;
            int itemCnt     = NkUserInventory.GetInstance().GetItemCnt(nItemUnique);
            int num3        = array[i].m_shItemNumber * a_nComposeItemNum;
            if (num3 > itemCnt)
            {
                if (itemCnt > 0 && num3 > 0)
                {
                    num2 = itemCnt / array[i].m_shItemNumber;
                }
                else if (itemCnt == 0)
                {
                    num2 = 0;
                }
            }
            else
            {
                num2 = a_nComposeItemNum;
            }
            if (num > num2)
            {
                num = num2;
            }
        }
        return(num);
    }