예제 #1
0
        /// <summary>
        /// 获取特定种类资源的所有采集任务
        /// </summary>
        /// <param name="workType">资源种类</param>
        /// <returns></returns>
        private IEnumerable <Worker> GetWorkers(WorkType workType)
        {
            Dictionary <int, Dictionary <int, int[]> > list = null;

            switch (workType)
            {
            case WorkType.FOOD:
                list = df.foodUPList;
                break;

            case WorkType.WOOD:
                list = df.woodUPList;
                break;

            case WorkType.STONE:
                list = df.stoneUPList;
                break;

            case WorkType.SILK:
                list = df.silkUPList;
                break;

            case WorkType.HERBAL:
                list = df.herbalUPList;
                break;

            case WorkType.MONEY:
                list = df.moneyUPList;
                break;

            default:
                break;
            }
            if (list == null)
            {
                yield break;
            }
            foreach (var part in list.Keys)
            {
                foreach (var place in list[part].Keys)
                {
                    var position = df.GetNewMapDate(part, place, 98) +
                                   df.GetNewMapDate(part, place, 0);
                    var manpower = list[part][place][1];
                    var type     = (int)workType;
                    var resource = UIDate.instance.GetWorkPower(type, part, place);
                    var worker   = new Worker
                    {
                        content = $"{df.SetColoer(10003, position)}:+" +
                                  $"{df.SetColoer(10002, resource.ToString())}/" +
                                  $"{df.SetColoer(10005, manpower.ToString())}人/时节",
                        part     = part,
                        place    = place,
                        manpower = manpower,
                        resource = resource,
                        type     = type,
                    };
                    yield return(worker);
                }
            }
        }
예제 #2
0
 static int OrderFunc(Worker worker)
 {
     return(Main.Setting.reverse ? -worker.resource : worker.resource);
 }