/// <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); } }
/// <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); }