public void OnButtonFertilizerClick() { 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; } CSFertilizer csFertilizer = new CSFertilizer() { SoilId = seedGrowComponent.tileComponent.SoilId, FertilizerId = firstFertilizer.GoodId }; ManorProtocalHelper.UseFertilizer(csFertilizer, async(succ) => { //第一阶段使用化肥 if (StaticData.isOpenGuide && GuideCanvasComponent._instance != null && GuideCanvasComponent._instance.CurrExecuteGuideLittleStepDefine.Id == 10004) { GuideCanvasComponent._instance.SetLittleStepFinish(); } //点击浇水的时候,关闭水滴 ButtonFertilizer.gameObject.SetActive(false); TextNumNormal.gameObject.SetActive(false); TextNumZero.gameObject.SetActive(false); //关闭UI StaticData.GetUIWorldHandleComponent().SetHandleTileUIClose(); //施肥特效 string iconFretilizer = string.Empty; int propId = csFertilizer.FertilizerId; iconFretilizer = StaticData.configExcel.GetGameItemByID(propId).Icon; StaticData.GetUIWorldHandleComponent().PlayWateringAnim(seedGrowComponent.tileComponent); //播放音效点击 GameSoundPlayer.Instance.PlaySoundEffect(MusicHelper.SoundEffectWatering); //end 施肥特效 SeedGrowComponent.PeriodGrow nextPeriod = SeedGrowComponent.PeriodGrow.Germinate;//种子的下一时期,幼苗期 //直接进入下一个时期 float remainTime = StaticData.GetSeedGrowComponentTotalSecond(seedGrowComponent, nextPeriod); seedGrowComponent.SetPeriod(nextPeriod, (long)remainTime * 1000); //化肥数量-1 StaticData.UpdateFertilizerMinus1(propId); //设置是否能一键浇水 UIManorComponent uiManorComponent = UIComponent.GetComponentHaveExist <UIManorComponent>(UIType.UIManor); uiManorComponent.SetCanWateringOnekey(); }, (error) => { //关闭UI StaticData.GetUIWorldHandleComponent().SetHandleTileUIClose(); }); }
private void OnButtonFertilizerClick(TypeFertilizer typeFertilizer) { CSWareHouseStruct currFertilizerData = null; switch (typeFertilizer) { case TypeFertilizer.fertilizer2: currFertilizerData = StaticData.GetFertilizerCountByWhich(1); //第二种化肥 break; case TypeFertilizer.fertilizer3: currFertilizerData = StaticData.GetFertilizerCountByWhich(2); //第二种化肥 break; default: break; } if (currFertilizerData.GoodNum <= 0) { //关闭UI uiWorldHandleManager.SetHandleTileUIClose(); string FertilizerName = StaticData.GetMultiLanguageByGameItemId(currFertilizerData.GoodId); string Tips = string.Format(StaticData.GetMultilingual(120068), FertilizerName); StaticData.OpenCommonTips(Tips, 120010, async() => { //跳转商城 await StaticData.OpenShopUI(1); }); return; } CSFertilizer csFertilizer = new CSFertilizer() { SoilId = seedGrowComponent.tileComponent.SoilId, FertilizerId = currFertilizerData.GoodId }; ManorProtocalHelper.UseFertilizer(csFertilizer, async(succ) => { //关闭UI uiWorldHandleManager.SetHandleTileUIClose(); //施肥特效 string iconFretilizer = string.Empty; int propId = csFertilizer.FertilizerId; iconFretilizer = StaticData.configExcel.GetGameItemByID(propId).Icon; uiWorldHandleManager.uiFertilizerEffectComponent.ShowInfo(iconFretilizer); uiWorldHandleManager.uiFertilizerEffectComponent.GetComponent <RectTransform>().anchoredPosition = StaticData.ManorWorldPointToUICameraAnchorPos(seedGrowComponent.tileComponent.transform.position); uiWorldHandleManager.uiFertilizerEffectComponent.gameObject.SetActive(true); uiWorldHandleManager.isFertiliezeringAnimPlay = true; await UniTask.Delay(1000); uiWorldHandleManager.uiFertilizerEffectComponent.gameObject.SetActive(false); uiWorldHandleManager.isFertiliezeringAnimPlay = false; //end 施肥特效 SeedGrowComponent.PeriodGrow nextPeriod = SeedGrowComponent.PeriodGrow.Seed; var remainTime = seedGrowComponent.remainTime - StaticData.GetFertilizerAddTimeMilliSeconds(currFertilizerData.GoodId) / 1000f; if (remainTime <= 0) { //下一个时期 switch (seedGrowComponent.currCropPeriod) { case SeedGrowComponent.PeriodGrow.Seed: nextPeriod = SeedGrowComponent.PeriodGrow.Germinate; break; case SeedGrowComponent.PeriodGrow.Germinate: nextPeriod = SeedGrowComponent.PeriodGrow.GrowUp; //成长期减去对应的时间 remainTime = StaticData.GetSeedGrowComponentTotalSecond(seedGrowComponent, nextPeriod) + remainTime; if (remainTime <= 0) { //跳过了成长期,直接到成熟期 remainTime = 0f; nextPeriod = SeedGrowComponent.PeriodGrow.Ripe; } break; case SeedGrowComponent.PeriodGrow.GrowUp: nextPeriod = SeedGrowComponent.PeriodGrow.Ripe; break; case SeedGrowComponent.PeriodGrow.Ripe: //如果成熟阶段继续施肥还是成熟阶段 nextPeriod = SeedGrowComponent.PeriodGrow.Ripe; break; } } else { nextPeriod = seedGrowComponent.currCropPeriod; } seedGrowComponent.SetPeriod(nextPeriod, (long)remainTime * 1000); //化肥数量-1 StaticData.UpdateFertilizerMinus1(currFertilizerData.GoodId); }, (error) => { //关闭UI uiWorldHandleManager.SetHandleTileUIClose(); }); }