public FarmDigimonAI.ActionID ChooseAction() { FarmRoot instance = FarmRoot.Instance; FarmScenery scenery = instance.Scenery; List <FarmDigimonAI.ActionID> list = new List <FarmDigimonAI.ActionID>(); for (int i = 1; i < Enum.GetNames(typeof(FarmDigimonAI.ActionID)).Length; i++) { if (i != 6) { list.Add((FarmDigimonAI.ActionID)i); } } if (scenery.farmObjects.Any((FarmObject x) => x.IsConstruction())) { list.Remove(FarmDigimonAI.ActionID.CONSTRUCTION); } if (!scenery.farmObjects.Any((FarmObject x) => x.facilityID == 1)) { list.Remove(FarmDigimonAI.ActionID.MEAT_FARM); } int index = UnityEngine.Random.Range(0, list.Count); return(list[index]); }
public FarmObjectSetting.ExtendBuildPositionSearchResult SearchExtendBuildGrid(FarmObject oneBeforeFarmObject) { FarmScenery scenery = FarmRoot.Instance.Scenery; FarmObjectSetting.PriorityDirection priorityDirection = FarmObjectSetting.PriorityDirection.FRONT; FarmObject farmObject = null; if (2 <= scenery.farmObjects.Count) { farmObject = scenery.farmObjects[scenery.farmObjects.Count - 2]; } UserFacility userFacility = Singleton <UserDataMng> .Instance.GetUserFacility(oneBeforeFarmObject.userFacilityID); if (null != farmObject && farmObject.facilityID == oneBeforeFarmObject.facilityID) { UserFacility userFacility2 = Singleton <UserDataMng> .Instance.GetUserFacility(farmObject.userFacilityID); int num = userFacility2.positionX - userFacility.positionX; int num2 = userFacility2.positionY - userFacility.positionY; bool flag = Mathf.Abs(num) > Mathf.Abs(num2); if (flag) { priorityDirection = ((0 <= num) ? FarmObjectSetting.PriorityDirection.LEFT : FarmObjectSetting.PriorityDirection.RIGHT); } else { priorityDirection = ((0 <= num2) ? FarmObjectSetting.PriorityDirection.REAR : FarmObjectSetting.PriorityDirection.FRONT); } } return(this.GetExtendBuildGrid(oneBeforeFarmObject, userFacility, priorityDirection)); }
private void OnTouchUp(InputControll inputControll, bool isDraged) { if (!isDraged) { if (this.farmObject.gameObject != inputControll.rayHitColliderObject) { FarmObjectSelect component = base.GetComponent <FarmObjectSelect>(); this.CancelEdit(); component.EnabledTouchedEvent(true); } } else if (this.farmObject.isPlaceable) { FarmRoot instance = FarmRoot.Instance; FarmScenery component2 = base.GetComponent <FarmScenery>(); FarmObjectSelect component3 = base.GetComponent <FarmObjectSelect>(); FarmObjectSetting component4 = base.GetComponent <FarmObjectSetting>(); instance.ResetSettingMark(); this.farmObject.DisplayFloorObject(); component4.ComplatedSetting(); component3.SetSelectObject(this.farmObject.gameObject); this.farmObject = null; component3.EnabledTouchedEvent(true); instance.Input.RemoveTouchEndEvent(new Action <InputControll, bool>(this.OnTouchUp)); if (!component2.IsExistStoreFacility()) { instance.farmUI.EnableEditSaveButton(true); } } }
public static void ClearCache() { FarmSceneryCache.farmSceneryReference = null; if (null != FarmSceneryCache.cache) { UnityEngine.Object.Destroy(FarmSceneryCache.cache.gameObject); FarmSceneryCache.cache = null; } }
public static void SetCacheAction(FarmScenery scenery) { if (null == FarmSceneryCache.farmSceneryReference) { FarmSceneryCache.farmSceneryReference = scenery; if (FarmSceneryCache.< > f__mg$cache0 == null) { FarmSceneryCache.< > f__mg$cache0 = new Action(FarmSceneryCache.ExecutionCache); } GUIMain.SetAction_FadeBlackLoadScene(FarmSceneryCache.< > f__mg$cache0); } }
public IEnumerator Initialize(FarmUI ui) { this.farmUI = ui; this.childDigimon.CreateDigimonGameObject(); FarmScenery scenery = this.Scenery; yield return(base.StartCoroutine(scenery.InitializeFarmObjectParallelRead())); FarmSceneryCache.ClearCache(); FarmSceneryCache.SetCacheAction(scenery); yield break; }
protected virtual void TaskSaveFarmObject(FarmScenery farmScenery) { APIRequestTask task = farmScenery.SaveFarmObjectPosition(new Action <int>(this.OnFinishedToSave)); base.StartCoroutine(task.Run(delegate { RestrictionInput.EndLoad(); }, delegate(Exception exception) { RestrictionInput.EndLoad(); }, null)); }
private void OnPushedNo() { FarmRoot instance = FarmRoot.Instance; if (null != instance) { FarmScenery scenery = instance.Scenery; scenery.CancelSetting(); this.Close(false); SoundMng.Instance().TryPlaySE("SEInternal/Common/se_106", 0f, false, true, null, -1); } }
private int GetConstructionAroundGridIndex() { FarmRoot instance = FarmRoot.Instance; FarmScenery scenery = instance.Scenery; FarmObject[] array = scenery.farmObjects.Where((FarmObject x) => x.IsConstruction()).ToArray <FarmObject>(); if (array != null && 0 < array.Length) { int num = UnityEngine.Random.Range(0, array.Length); FarmObject farmObject = array[num]; return(FarmDigimonUtility.ChooseAroundGridIndex(farmObject)); } return(-1); }
protected override void TaskSaveFarmObject(FarmScenery farmScenery) { int facilityID = base.GetFacilityID(); UserFacility stockFacilityByfacilityId = Singleton <UserDataMng> .Instance.GetStockFacilityByfacilityId(facilityID); int userFacilityId = stockFacilityByfacilityId.userFacilityId; APIRequestTask apirequestTask = farmScenery.SaveStockFarmObjectPosition(userFacilityId, new Action <int>(base.OnFinishedToSave)); TaskBase task = apirequestTask; if (StockFacilityConfirmation.< > f__mg$cache0 == null) { StockFacilityConfirmation.< > f__mg$cache0 = new Action(RestrictionInput.EndLoad); } base.StartCoroutine(task.Run(StockFacilityConfirmation.< > f__mg$cache0, null, null)); }
public void CancelEdit() { if (null != this.farmObject) { FarmRoot instance = FarmRoot.Instance; FarmScenery component = base.GetComponent <FarmScenery>(); FarmObjectSetting component2 = base.GetComponent <FarmObjectSetting>(); component2.CancelBuild(); instance.ResetSettingMark(); instance.ResetSelectMark(); this.farmObject.DisplayFloorObject(); component.StoreFarmObject(this.farmObject); instance.farmUI.AddStoreFacility(this.farmObject); this.farmObject = null; instance.Input.RemoveTouchEndEvent(new Action <InputControll, bool>(this.OnTouchUp)); } }
private void Execution(FarmScenery scenery) { if (!this.existCached) { this.existCached = true; List <GameObject> list = new List <GameObject>(); List <GameObject> decorationList = new List <GameObject>(); Transform transform = scenery.transform; this.GetCacheFacilityObject(transform, list, decorationList); Transform transform2 = base.transform; for (int i = 0; i < list.Count; i++) { list[i].transform.parent = transform2; } base.gameObject.SetActive(false); } }
private void OnPushedStoreButton() { FarmRoot instance = FarmRoot.Instance; if (null == instance) { global::Debug.LogError("FarmRoot Not Found"); return; } FarmScenery scenery = instance.Scenery; instance.isEdit = true; instance.ClearSettingFarmObject(); scenery.AllStoreFarmObject(); this.facilityList.CreateStoreFacilityButton(); this.EnableSaveButton(false); this.EnableStoreButton(false); }
private void GoToFacility(int facilityID) { FarmRoot instance = FarmRoot.Instance; if (null != instance) { FarmScenery scenery = instance.Scenery; FarmObject[] array = scenery.farmObjects.Where((FarmObject x) => x.facilityID == facilityID).ToArray <FarmObject>(); if (array != null && 0 < array.Length) { FarmObject farmObject = array[0]; Vector3 baseGridPosition3D = farmObject.GetBaseGridPosition3D(); GUICameraControll component = instance.Camera.GetComponent <GUICameraControll>(); if (null != component) { AppCoroutine.Start(this.WaitMovedForFarmCamera(component, baseGridPosition3D), false); } } } }
public static void ExecutionCache() { if (null != FarmSceneryCache.farmSceneryReference) { GameObject gameObject = new GameObject("FarmSceneryCache"); gameObject.transform.localScale = Vector3.one; gameObject.transform.localPosition = Vector3.zero; gameObject.transform.localRotation = Quaternion.identity; gameObject.transform.parent = null; gameObject.name = "FarmSceneryCache"; UnityEngine.Object.DontDestroyOnLoad(gameObject); FarmRoot instance = FarmRoot.Instance; if (null != instance) { instance.ClearSettingFarmObject(); } FarmSceneryCache.cache = gameObject.AddComponent <FarmSceneryCache>(); FarmSceneryCache.cache.Execution(FarmSceneryCache.farmSceneryReference); FarmSceneryCache.farmSceneryReference = null; } }
protected APIRequestTask RequestUpgrade() { RequestFA_FacilityUpgrade request = new RequestFA_FacilityUpgrade { SetSendData = delegate(FacilityUpgrade param) { param.userFacilityId = this.userFacility.userFacilityId; }, OnReceived = delegate(WebAPI.ResponseData nop) { FarmRoot instance = FarmRoot.Instance; if (null != instance) { FarmScenery scenery = instance.Scenery; scenery.StartUpgrade(this.userFacility); } } }; return(new APIRequestTask(request, false)); }
private void OnPushedYes() { if (!this.CheckExtendBuild()) { return; } if (!this.isProcessing) { this.isProcessing = true; if (this.farmObject.isPlaceable) { FarmRoot instance = FarmRoot.Instance; if (null != instance) { FarmScenery scenery = instance.Scenery; RestrictionInput.StartLoad(RestrictionInput.LoadType.SMALL_IMAGE_MASK_ON); this.TaskSaveFarmObject(scenery); } } } }
private void StartFarmObjectPutMode(int facilityID) { FarmRoot farmRoot = FarmRoot.Instance; if (null == farmRoot) { global::Debug.LogError("FarmRoot Not Found"); this.ClosePanel(true); return; } FarmObjectSetting settingObject = farmRoot.SettingObject; FarmObjectSelect selectObject = farmRoot.SelectObject; FarmScenery scenery = farmRoot.Scenery; selectObject.ClearSelectState(); selectObject.EnabledTouchedEvent(false); bool flag = false; if (null != settingObject.farmObject && settingObject.settingMode == FarmObjectSetting.SettingMode.BUILD) { if (facilityID == settingObject.farmObject.facilityID) { flag = true; } else { scenery.CancelSetting(); StockFacilityConfirmation componentInChildren = Singleton <GUIMain> .Instance.GetComponentInChildren <StockFacilityConfirmation>(); componentInChildren.DeleteObject(); } } if (!flag && scenery.BuildFarmObject(facilityID)) { farmRoot.farmUI.CreateStockFacilityConfirmation(); farmRoot.SetActiveNotTouchObject(false); } PartsMenu.instance.gameObject.SetActive(false); this.CloseAction(true); }
protected void OnFinishedToSave(int userFacilityID) { FarmRoot instance = FarmRoot.Instance; if (null != instance) { UserFacility userFacility = Singleton <UserDataMng> .Instance.GetUserFacility(userFacilityID); if (this.CanExtendBuild(userFacility.facilityId)) { FarmScenery scenery = instance.Scenery; if (scenery.ExtendBuildFarmObject(userFacility.facilityId, userFacilityID)) { instance.SetActiveNotTouchObject(false); this.farmObject = instance.SettingObject.farmObject; this.isProcessing = false; } else { this.Close(true); } } else { this.Close(true); } if (this.farmObject.facilityID == 11) { FarmRoot.Instance.ResetSetteingFence(); } this.PlaySavedSE(); } else { this.isProcessing = false; } }
public void CreateStoreFacilityButton() { FarmRoot instance = FarmRoot.Instance; FarmScenery scenery = instance.Scenery; List <EditStoreFacility> list = new List <EditStoreFacility>(); for (int i = 0; i < scenery.farmObjects.Count; i++) { FarmObject farmObject = scenery.farmObjects[i]; UserFacility userFacility = Singleton <UserDataMng> .Instance.GetUserFacility(farmObject.userFacilityID); FacilityM facilityMaster = FarmDataManager.GetFacilityMaster(userFacility.facilityId); EditStoreFacility editStoreFacility = null; if (0 < list.Count) { if (int.Parse(facilityMaster.type) == 1) { editStoreFacility = list.SingleOrDefault((EditStoreFacility x) => x.facilityID == farmObject.facilityID && x.level == userFacility.level); } else { editStoreFacility = list.SingleOrDefault((EditStoreFacility x) => x.facilityID == farmObject.facilityID); } } if (editStoreFacility == null) { editStoreFacility = new EditStoreFacility { facilityID = farmObject.facilityID, level = userFacility.level }; list.Add(editStoreFacility); } } this.CreateListItem(list.ToArray(), true); }