Пример #1
0
 //一键浇水
 public static void SendCSEmptyOnceWatering(CSEmptyOnceWatering csEmptyOnceWatering, Action <SCOnceWatering> ResponseSCSCOnceWateringCallBack)
 {
     if (StaticData.IsUsedLocalDataNotServer)
     {
         SCOnceWatering scOnceWatering = new SCOnceWatering();
         scOnceWatering.SoilId.Add(10001);
         ResponseSCSCOnceWateringCallBack(scOnceWatering);
     }
     else
     {
         ProtocalManager.Instance().SendCSEmptyOnceWatering(csEmptyOnceWatering, ResponseSCSCOnceWateringCallBack, null);
     }
 }
Пример #2
0
    //庄园一键浇水
    void OnButtonWateringOneKeyClick()
    {
        if (Root2dSceneManager._instance.isFriendManor)
        {//好友庄园不可操作
            return;
        }
        var firstFertilizer = StaticData.GetFertilizerCountByWhich(0);

        //水滴数量不足提示
        if (firstFertilizer.GoodNum <= 0)
        {
            //关闭UI
            StaticData.GetUIWorldHandleComponent().SetHandleTileUIClose();
            string FertilizerName = StaticData.GetMultiLanguageByGameItemId(firstFertilizer.GoodId);
            string Tips           = string.Format(StaticData.GetMultilingual(120068), FertilizerName);
            StaticData.OpenCommonTips(Tips, 120010, async() =>
            {
                //跳转商城
                await StaticData.OpenShopUI(1);
            });
            return;
        }
        //对接服务器
        CSEmptyOnceWatering csEmptyOnceWatering = new CSEmptyOnceWatering();

        ManorProtocalHelper.SendCSEmptyOnceWatering(csEmptyOnceWatering, (succ) =>
        {
            if (succ == null)
            {
                return;
            }
            if (succ.SoilId == null)
            {
                return;
            }
            if (succ.SoilId.Count <= 0)
            {
                return;
            }
            List <ItemFirstStageFertilizerComponent> listItemWaterComponent = new List <ItemFirstStageFertilizerComponent>();
            listItemWaterComponent.AddRange(uIWorldHandleManager.TransGoFirstStageRoot.GetComponentsInChildren <ItemFirstStageFertilizerComponent>());
            if (listItemWaterComponent != null && listItemWaterComponent.Count > 0)
            {
                //关闭UI
                StaticData.GetUIWorldHandleComponent().SetHandleTileUIClose();
                //播放音效点击
                GameSoundPlayer.Instance.PlaySoundEffect(MusicHelper.SoundEffectWatering);
                for (int i = 0; i < succ.SoilId.Count; i++)
                {
                    var itemWaterCom = listItemWaterComponent.Find(x => x.seedGrowComponent.tileComponent.SoilId == succ.SoilId[i]);

                    if (itemWaterCom != null)
                    {
                        //点击浇水的时候,关闭水滴
                        itemWaterCom.ButtonFertilizer.gameObject.SetActive(false);
                        itemWaterCom.TextNumNormal.gameObject.SetActive(false);
                        itemWaterCom.TextNumZero.gameObject.SetActive(false);
                        //施肥特效
                        StaticData.GetUIWorldHandleComponent().PlayWateringAnim(itemWaterCom.seedGrowComponent.tileComponent);

                        //end 施肥特效
                        SeedGrowComponent.PeriodGrow nextPeriod = SeedGrowComponent.PeriodGrow.Germinate; //种子的下一时期,幼苗期
                                                                                                          //直接进入下一个时期
                        float remainTime = StaticData.GetSeedGrowComponentTotalSecond(itemWaterCom.seedGrowComponent, nextPeriod);
                        itemWaterCom.seedGrowComponent.SetPeriod(nextPeriod, (long)remainTime * 1000);
                    }
                }
                //更新水滴数量
                StaticData.UpdateWareHouseItem(firstFertilizer.GoodId, -succ.SoilId.Count);
                //看是否还有能浇水的
                SetCanWateringOnekey();
            }
        });
    }
Пример #3
0
        public void SendCSEmptyOnceWatering(CSEmptyOnceWatering csemptyoncewatering, Action <SCOnceWatering> ResponseSCOnceWateringCallBack, Action <ErrorInfo> errorCallBack, bool isShowDefaultTip = true)
        {
            OpCodeType opCodeType = ListOPRelation.GetOpCodeTypeByRequest <CSEmptyOnceWatering> ();

            ProtoSendMethod.BusinessRequest <SCOnceWatering>(csemptyoncewatering, opCodeType, ResponseSCOnceWateringCallBack, errorCallBack, isShowDefaultTip);
        }