Example #1
0
    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]);
    }
Example #2
0
    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));
    }
Example #3
0
 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);
     }
 }
Example #6
0
    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;
    }
Example #7
0
    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));
    }
Example #8
0
    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);
        }
    }
Example #9
0
    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);
    }
Example #10
0
    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));
    }
Example #11
0
 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);
    }
Example #14
0
    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));
    }
Example #17
0
 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);
             }
         }
     }
 }
Example #18
0
    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);
    }
Example #19
0
    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;
        }
    }
Example #20
0
    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);
    }