コード例 #1
0
    public IEnumerator ServerRequestFacilityBuildComplete(Action <bool> completed)
    {
        bool isEventBuild = false;

        if (!this.isFacilityBuildCompleteRequesting)
        {
            UserFacility userFacility = Singleton <UserDataMng> .Instance.GetUserFacility(this.userFacilityID);

            double restSecondes = FarmUtility.RestSeconds(userFacility.completeTime);
            if (0.0 >= restSecondes)
            {
                this.isFacilityBuildCompleteRequesting = true;
                RestrictionInput.StartLoad(RestrictionInput.LoadType.SMALL_IMAGE_MASK_ON);
                bool isSuccess = false;
                RequestFA_FacilityBuildComplete request = new RequestFA_FacilityBuildComplete
                {
                    SetSendData = delegate(FacilityBuildComplete param)
                    {
                        param.userFacilityId = this.userFacilityID;
                    },
                    OnReceived = delegate(FacilityBuildCompleteResult response)
                    {
                        isSuccess = (response.result == 1);
                    }
                };
                yield return(base.StartCoroutine(request.Run(delegate()
                {
                    RestrictionInput.EndLoad();
                    if (isSuccess)
                    {
                        userFacility.completeTime = null;
                        userFacility.level++;
                        this.BuildCompleteEffect();
                        this.ClearConstruction();
                        isEventBuild = true;
                    }
                }, null, null)));

                this.isFacilityBuildCompleteRequesting = false;
            }
        }
        if (completed != null)
        {
            completed(isEventBuild);
        }
        yield break;
    }
コード例 #2
0
    private IEnumerator RequestBuildCompletedMeatFarm(int meatFarmUserFacilityId)
    {
        FacilityBuildCompleteResult.resultCode resultCode = FacilityBuildCompleteResult.resultCode.FAILED;
        while (resultCode == FacilityBuildCompleteResult.resultCode.FAILED)
        {
            RequestFA_FacilityBuildComplete request = new RequestFA_FacilityBuildComplete
            {
                SetSendData = delegate(FacilityBuildComplete param)
                {
                    param.userFacilityId = meatFarmUserFacilityId;
                },
                OnReceived = delegate(FacilityBuildCompleteResult param)
                {
                    resultCode = (FacilityBuildCompleteResult.resultCode)param.result;
                }
            };
            bool isClose = false;
            yield return(AppCoroutine.Start(request.Run(delegate()
            {
                if (resultCode == FacilityBuildCompleteResult.resultCode.FAILED)
                {
                    string errorCode = AlertManager.GetErrorCode(WWWResponse.LocalErrorStatus.LOCAL_ERROR_WWW);
                    AlertManager.ShowAlertDialog(delegate(int nop)
                    {
                        isClose = true;
                    }, errorCode);
                }
                else
                {
                    isClose = true;
                }
            }, null, null), false));

            while (!isClose)
            {
                yield return(null);
            }
        }
        yield break;
    }