Esempio n. 1
0
    /// <summary>
    /// 设置蓝图状态
    /// </summary>
    /// <param name="tid">蓝图tid</param>
    public void SetProduceState(int tid)
    {
        if (BeActive(tid))                   //1,判断是否激活
        {
            if (BeCanProduce(tid))           //2,判断是否可以生产
            {
                if (BeProducingOrFinsh(tid)) //3,判断是否正在生产中
                {
                    //4,判断是否生产完成
                    BeFinshed(tid);
                    //Debug.Log("生产中");
                }
                else
                {
                    //	Debug.Log("材料足");
                }
            }
            else
            {
                //4,判断是否生产完成
                BeFinshed(tid);
                //Debug.Log("材料不足");
            }
        }
        else
        {
            //Debug.Log("未激活");
            SetGirdDataInfo(tid, ProduceState.CanNotProduce, 0);
        }

        BlueprintL1 blueprintL1  = 0;
        Item        item         = GetItemByKey((uint)tid);
        ItemType    itemMainType = ItemTypeUtil.GetItemType(item.Type); //主类型

        ItemTypeUtil.SetSubType(ref blueprintL1, itemMainType);         //次类型
        if (blueprintL1 == BlueprintL1.Warship && IsHaveShipByTid(GetItemByProduceKey(tid).Id))
        {
            SetGirdDataInfo(tid, ProduceState.Have, 0);
        }
    }
Esempio n. 2
0
    /// <summary>
    /// 根据蓝图类型获取蓝图数据
    /// </summary>
    /// <param name="type">类型</param>
    /// <returns></returns>
    public List <Produce> GetDataByMainType(BlueprintL1 type)
    {
        BlueprintL1    blueprintL1 = new BlueprintL1();
        List <Produce> list        = new List <Produce>();

        for (int i = 0; i < AllProduceList.Count; i++)
        {
            Item     item         = GetItemByKey(AllProduceList[i].Id);
            ItemType itemMainType = ItemTypeUtil.GetItemType(item.Type);       //主类型
            ItemTypeUtil.SetSubType(ref blueprintL1, itemMainType);            //次类型
            if (blueprintL1 == type)
            {
                if (!list.Contains(AllProduceList[i]))
                {
                    if (GetItemGradByProduceKey((int)AllProduceList[i].Id) < 4)//临时约束战舰T等级小于4
                    {
                        list.Add(AllProduceList[i]);
                    }
                }
            }
        }
        return(list);
    }