public IEnumerator InitializeFarmObjectParallelRead() { FarmRoot farmRoot = FarmRoot.Instance; FarmField farmField = farmRoot.Field; farmField.ClearPutFlag(); List <UserFacility> userFacilitys = Singleton <UserDataMng> .Instance.GetUserFacilityList(); int num = userFacilitys.Count / 6; if (0 < userFacilitys.Count - 6 * num) { num++; } List <UserFacility[]> readFacility = new List <UserFacility[]>(); for (int j = 0; j < 6; j++) { readFacility.Add(new UserFacility[num]); } int parallelIndex = 0; int dataIndex = 0; for (int k = 0; k < userFacilitys.Count; k++) { UserFacility[] array = readFacility[parallelIndex]; array[dataIndex] = userFacilitys[k]; parallelIndex++; if (6 <= parallelIndex) { parallelIndex = 0; dataIndex++; } } Coroutine[] coroutineList = new Coroutine[6]; for (int l = 0; l < 6; l++) { coroutineList[l] = base.StartCoroutine(this.ReadFacility(readFacility[l])); } for (int i = 0; i < 6; i++) { yield return(coroutineList[i]); } farmRoot.ResetSetteingFence(); yield break; }
public void ResumeFarmObject() { FarmRoot instance = FarmRoot.Instance; FarmField field = instance.Field; field.ClearPutFlag(); List <UserFacility> userFacilityList = Singleton <UserDataMng> .Instance.GetUserFacilityList(); for (int i = 0; i < userFacilityList.Count; i++) { UserFacility userFacility = userFacilityList[i]; FarmObject farmObject = this.FindFarmObjectByUserFacilityId(userFacility.userFacilityId); if (null != farmObject) { this.SetFarmObjectParam(farmObject, userFacility); } } instance.ResetSetteingFence(); }