private void ShowBuySuccessDialog() { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (!gameData.HasEnoughMoney(customPriceL, customPriceM, customPriceS)) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1005)); return; } if (etBedName.text.Length <= 0) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1312)); return; } //支付金钱 gameData.PayMoney(customPriceL, customPriceM, customPriceS); //播放音效 AudioHandler.Instance.PlaySound(AudioSoundEnum.Reward); DialogBean dialogData = new DialogBean(); FindBedDialogView findBedDialog = DialogHandler.Instance.CreateDialog <FindBedDialogView>(DialogEnum.FindBed, this, dialogData); //点击继续 findBedDialog.SetCallBackForContinue((view, data) => { ShowBuySuccessDialog(); }); //如果幸运值生成数据 gameData.userCharacter.GetAttributes(out CharacterAttributesBean characterAttributes); BuildBedBean buildBedData = customBedData.RandomDataByLucky(characterAttributes.lucky); findBedDialog.SetData(buildBedData); }
/// <summary> /// 根据幸运值随机生成数据 /// </summary> /// <param name="lucky"></param> /// <returns></returns> public BuildBedBean RandomDataByLucky(int lucky) { BuildBedBean buildBed = new BuildBedBean(); buildBed.bedSize = bedSize; buildBed.bedBase = bedBase; buildBed.bedBar = bedBar; buildBed.bedSheets = bedSheets; buildBed.bedPillow = bedPillow; buildBed.bedName = bedName; float luckRate = (lucky / 100f) * 0.3f + 0.05f; float randomRate = UnityEngine.Random.Range(0f, 1f); if (randomRate >= luckRate) { buildBed.rarity = 0; } else { buildBed.rarity = 1; } buildBed.priceS = 100; if (buildBed.rarity == 0) { buildBed.priceS += UnityEngine.Random.Range(0, 50); } else { buildBed.priceS += UnityEngine.Random.Range(100, 150); } buildBed.remarkId = SystemUtil.GetUUID(SystemUtil.UUIDTypeEnum.N); return(buildBed); }
/// <summary> /// 设置角色UI /// </summary> /// <param name="characterData"></param> public void SetBedUI(BuildBedBean buildBedData) { if (bedShowView != null) { bedShowView.SetData(buildBedData); } }
/// <summary> /// 设置弹窗框数据 /// </summary> /// <param name="characterData"></param> public void SetPopupInfo(BuildBedBean buildBedData) { if (popupBedButton != null) { popupBedButton.SetData(buildBedData); } }
public void OnCellForItems(ScrollGridCell itemCell) { BuildBedBean itemData = listBedData[itemCell.index]; ItemGameHotelBedCpt itemCpt = itemCell.GetComponent <ItemGameHotelBedCpt>(); itemCpt.SetData(itemData); }
/// <summary> /// 设置等级 /// </summary> public void SetLevel(BuildBedBean buildBedData) { LevelTypeEnum level = buildBedData.GetBedLevel(out string levelStr, out int nextLevelExp); if ((int)level >= 3) { objLevelProgress.SetActive(false); } else { objLevelProgress.SetActive(true); } Sprite spIcon = buildBedData.GetBedLevelIcon(); if (spIcon == null) { ivLevel.gameObject.SetActive(false); } else { ivLevel.gameObject.SetActive(true); } ivLevel.sprite = spIcon; tvLevelName.text = levelStr; proLevel.SetData(nextLevelExp, buildBedData.bedExp); if (buildBedData.GetBedStatus() == ResearchStatusEnum.WaitForResearch) { proLevel.SetContent(TextHandler.Instance.manager.GetTextById(287)); } }
/// <summary> /// 设置研究数据 /// </summary> /// <param name="ownData"></param> public void SetResearch(BuildBedBean buildBedData) { if (buildBedData.GetBedStatus() == ResearchStatusEnum.Normal) { objResearch.SetActive(false); return; } objResearch.SetActive(true); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); CharacterBean researcher = buildBedData.GetResearchCharacter(gameData); float progress = buildBedData.GetResearchProgress(out long completeExp, out long researchExp); if (researcher != null) { tvResearcherName.text = researcher.baseInfo.name; long addExp = researcher.CalculationBedResearchAddExp(); tvResearcherAbility.text = addExp + "/s"; } else { tvResearcherName.text = "无"; tvResearcherAbility.text = "0/s"; } //设置进度 proResearch.SetData(completeExp, researchExp); }
public void SetBed(BuildBedBean buildBedData) { if (buildBedData != null && bedShow != null) { bedShow.SetData(buildBedData); } }
public void SetData(BuildBedBean bedData) { this.bedData = bedData; Sprite spBedIcon = IconDataHandler.Instance.manager.GetIconSpriteByName("ui_features_bed"); SetIcon(spBedIcon); SetName(bedData.bedName); RefreshData(); }
/// <summary> /// 设置数据 /// </summary> /// <param name="characterData"></param> public void SetData(BuildBedBean buildBedData) { this.buildBedData = buildBedData; SetName(buildBedData.bedName); SetPrice(buildBedData.priceL, buildBedData.priceM, buildBedData.priceS); SetBedUI(buildBedData); SetPopupInfo(buildBedData); SetBackground(buildBedData.GetRarity()); }
public void SetData(BuildBedBean buildBedData) { this.buildBedData = buildBedData; infoBedPopup.SetData(buildBedData); SetName(buildBedData.bedName); buildBedData.GetPrice(out long outPriceL, out long outPriceM, out long outPriceS); SetPrice(outPriceS); SetBed(buildBedData); }
/// <summary> /// 修改床单的销售数量 /// </summary> /// <param name="remarkId"></param> /// <param name="number"></param> /// <param name="priceL"></param> /// <param name="priceM"></param> /// <param name="priceS"></param> /// <param name="isBedLevelUp"></param> public void AddBedSellNumber(string remarkId, long number, long sleeptime, long priceL, long priceM, long priceS, out bool isBedLevelUp) { isBedLevelUp = false; BuildBedBean buildBedData = GetBedByRemarkId(remarkId); if (buildBedData != null) { buildBedData.SellBed(number, sleeptime, priceL, priceM, priceS, out isBedLevelUp); } }
/// <summary> /// 设置移除按钮 /// </summary> /// <param name="buildBedData"></param> public void SetRemove(BuildBedBean buildBedData) { if (buildBedData.isSet) { btRemove.gameObject.SetActive(false); } else { btRemove.gameObject.SetActive(true); } }
/// <summary> /// 通过备注ID获取床 /// </summary> /// <param name="remarkId"></param> /// <returns></returns> public BuildBedBean GetBedByRemarkId(string remarkId) { for (int i = 0; i < listBed.Count; i++) { BuildBedBean itemData = listBed[i]; if (itemData.remarkId.Equals(remarkId)) { return(itemData); } } return(null); }
public void SetData(BuildBedBean buildBedData) { this.buildBedData = buildBedData; infoBedPopup.SetData(buildBedData); SetBed(buildBedData); SetName(buildBedData.bedName); buildBedData.GetPrice(out long outPriceL, out long outPriceM, out long outPriceS); SetPrice(outPriceS); SetLevel(buildBedData); SetResearch(buildBedData.GetBedStatus()); SetResearchPopup(buildBedData); SetRemove(buildBedData); }
/// <summary> /// 修建建筑 /// </summary> /// <param name="furnitureData"></param> /// <returns></returns> public GameObject BuildFurniture(InnResBean furnitureData, BuildBedBean buildBedData) { if (furnitureData == null) { return(null); } GameObject buildItemObj = InnBuildHandler.Instance.manager.GetFurnitureObjById(furnitureData, buildContainer.transform, buildBedData); buildItemObj.transform.position = TypeConversionUtil.Vector3BeanToVector3(furnitureData.startPosition); BaseBuildItemCpt buildItemCpt = buildItemObj.GetComponent <BaseBuildItemCpt>(); buildItemCpt.SetDirection(furnitureData.direction); return(buildItemObj); }
/// <summary> /// 获取研究中的床 /// </summary> /// <returns></returns> public List <BuildBedBean> GetBedListForResearching() { List <BuildBedBean> listData = new List <BuildBedBean>(); for (int i = 0; i < listBed.Count; i++) { BuildBedBean itemData = listBed[i]; if (itemData.GetBedStatus() == ResearchStatusEnum.Researching) { listData.Add(itemData); } } return(listData); }
/// <summary> /// 创建研究提示Item /// </summary> /// <param name="menuOwn"></param> public void CreateItemForResearch(MenuOwnBean menuOwn, BuildBedBean buildBedData) { GameObject objItem = Instantiate(objHintContainer, objMenuResearchModel); ItemGameMainHintForResearchCpt itemCpt = objItem.GetComponent <ItemGameMainHintForResearchCpt>(); if (menuOwn != null) { itemCpt.SetData(menuOwn); } if (buildBedData != null) { itemCpt.SetData(buildBedData); } listResearch.Add(itemCpt); }
public void SetData(BuildBedBean buildBedData) { BuildItemBean bedBaseData = InnBuildHandler.Instance.manager.GetBuildDataById(buildBedData.bedBase); SetBaseData(bedBaseData); BuildItemBean bedBarData = InnBuildHandler.Instance.manager.GetBuildDataById(buildBedData.bedBar); SetBarData(bedBarData); BuildItemBean bedSheetsData = InnBuildHandler.Instance.manager.GetBuildDataById(buildBedData.bedSheets); SetSheetsData(bedSheetsData); BuildItemBean bedPillowData = InnBuildHandler.Instance.manager.GetBuildDataById(buildBedData.bedPillow); SetPillowData(bedPillowData); }
public void SetData(BuildBedCpt buildBedCpt) { this.buildBedCpt = buildBedCpt; BuildBedBean buildBedData = buildBedCpt.buildBedData; SetName(buildBedData.bedName); //设置价格 buildBedCpt.GetPrice(out long basePriceS, out long addPriceS); SetPrice(basePriceS, addPriceS); SetBed(buildBedData); buildBedCpt.GetAesthetics(out float addAesthetics, out float subAesthetics, out float totalthetics); SetAesthetics(addAesthetics, subAesthetics); buildBedCpt.ShowRange(true); }
/// <summary> /// 创建单个数据 /// </summary> /// <param name="buildBedData"></param> public void CreateBuildForBedItem(BuildBedBean buildBedData) { GameObject itemBuildObj = Instantiate(itemBuildContainer, itemBuildForBedModel); ItemGameBuildForBedCpt itemCpt = itemBuildObj.GetComponent <ItemGameBuildForBedCpt>(); itemCpt.SetData(buildBedData); listBuildForBedItem.Add(itemCpt); if (buildBedData.isSet) { itemBuildObj.SetActive(false); } else { itemBuildObj.SetActive(true); } }
/// <summary> /// 结算所有客户 /// </summary> public void SettlementAllCustomer() { if (CheckUtil.ListIsNull(listOrder)) { return; } GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); for (int i = 0; i < listOrder.Count; i++) { OrderForBase itemOrder = listOrder[i]; if (itemOrder == null) { continue; } if (itemOrder as OrderForCustomer != null) { OrderForCustomer orderForCustomer = itemOrder as OrderForCustomer; if (orderForCustomer.customer != null && (orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.Eatting || orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.GotoPay || orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.WaitPay || orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.Pay)) { if (orderForCustomer.foodData == null) { continue; } MenuOwnBean menuOwn = gameData.GetMenuById(orderForCustomer.foodData.id); menuOwn.GetPrice(orderForCustomer.foodData, out long payMoneyL, out long payMoneyM, out long payMoneyS); PayMoney(itemOrder, payMoneyL, payMoneyM, payMoneyS, false); } } else if (itemOrder as OrderForHotel != null) { OrderForHotel orderForHotel = itemOrder as OrderForHotel; BuildBedBean buildBedData = orderForHotel.bed.buildBedData; PayMoney(itemOrder, buildBedData.priceL * orderForHotel.sleepTime, buildBedData.priceM * orderForHotel.sleepTime, buildBedData.priceS * orderForHotel.sleepTime, false); } } }
public override void OpenUI() { base.OpenUI(); GameTimeHandler.Instance.SetTimeStatus(false); CptUtil.RemoveChildsByActive(objItemContainer); Action <List <StoreInfoBean> > callBack = SetStoreData; StoreInfoHandler.Instance.manager.GetStoreInfoForCarpenterBed(callBack); if (customBedData == null) { customBedData = new BuildBedBean(); } RefreshUI(); }
private void Update() { if (!CheckUtil.ListIsNull(listResearch) || !CheckUtil.ListIsNull(listInfiniteTowers)) { for (int i = 0; i < listResearch.Count; i++) { ItemGameMainHintForResearchCpt itemCpt = listResearch[i]; MenuOwnBean menuOwn = itemCpt.GetMenuData(); BuildBedBean bedData = itemCpt.GetBedData(); if (menuOwn != null) { if (menuOwn.GetMenuStatus() != ResearchStatusEnum.Researching) { listResearch.Remove(itemCpt); Destroy(itemCpt.gameObject); i--; continue; } } if (bedData != null) { if (bedData.GetBedStatus() != ResearchStatusEnum.Researching) { listResearch.Remove(itemCpt); Destroy(itemCpt.gameObject); i--; continue; } } } for (int i = 0; i < listInfiniteTowers.Count; i++) { ItemGameMainHintForInfiniteTowersCpt itemCpt = listInfiniteTowers[i]; if (itemCpt.infiniteTowersData.proForSend == -1) { listInfiniteTowers.Remove(itemCpt); Destroy(itemCpt.gameObject); i--; continue; } } CheckHasData(); } }
/// <summary> /// 增加菜品研究点数 /// </summary> /// <param name="time"></param> public void AddBedResearch(int time) { GameDataBean gameData = manager.GetGameData(); List <BuildBedBean> listBed = gameData.GetBedListForResearching(); if (CheckUtil.ListIsNull(listBed)) { return; } for (int i = 0; i < listBed.Count; i++) { BuildBedBean itemBed = listBed[i]; //获取研究人员 CharacterBean researcher = itemBed.GetResearchCharacter(gameData); //如果没有研究人员则停止研究 if (researcher == null) { itemBed.CancelResearch(gameData); continue; } long addExp = researcher.CalculationBedResearchAddExp(); bool isCompleteResearch = itemBed.AddResearchExp((int)addExp * time); //完成研究 if (isCompleteResearch) { itemBed.CompleteResearch(gameData); string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1071), itemBed.bedName); AudioHandler.Instance.PlaySound(AudioSoundEnum.Reward); ToastHandler.Instance.ToastHint(InnFoodHandler.Instance.manager.GetFoodSpriteByName("ui_features_bed"), toastStr, 5); DialogBean dialogData = new DialogBean { title = TextHandler.Instance.manager.GetTextById(1048), content = toastStr }; AchievementDialogView achievementDialog = DialogHandler.Instance.CreateDialog <AchievementDialogView>(DialogEnum.Achievement, this, dialogData); achievementDialog.SetData(2, "ui_features_bed"); } } notifyForData?.Invoke(NotifyTypeEnum.BedResearchChange, new object[] { listBed }); }
/// <summary> /// 设置价格 /// </summary> /// <param name="priceL"></param> /// <param name="priceM"></param> /// <param name="priceS"></param> public void SetBedPrice(BuildBedBean customBedData, List <StoreInfoBean> listBedData) { if (priceShow == null) { return; } customPriceL = 0; customPriceM = 0; customPriceS = 0; for (int i = 0; i < listBedData.Count; i++) { StoreInfoBean storeInfo = listBedData[i]; if (customBedData.bedBase == storeInfo.mark_id) { customPriceL += storeInfo.price_l; customPriceM += storeInfo.price_m; customPriceS += storeInfo.price_s; } if (customBedData.bedBar == storeInfo.mark_id) { customPriceL += storeInfo.price_l; customPriceM += storeInfo.price_m; customPriceS += storeInfo.price_s; } if (customBedData.bedSheets == storeInfo.mark_id) { customPriceL += storeInfo.price_l; customPriceM += storeInfo.price_m; customPriceS += storeInfo.price_s; } if (customBedData.bedPillow == storeInfo.mark_id) { customPriceL += storeInfo.price_l; customPriceM += storeInfo.price_m; customPriceS += storeInfo.price_s; } } priceShow.SetPrice(1, customPriceL, customPriceM, customPriceS, 0, 0, 0, 0, 0); }
public void SetData(BuildBedBean buildBedData) { this.buildBedData = buildBedData; CptUtil.RemoveChildsByActive(objItemBaseContainer); CptUtil.RemoveChildsByActive(objItemStatisticsContainer); CreateStructure(BuildItemTypeEnum.BedBase, buildBedData.bedBase); CreateStructure(BuildItemTypeEnum.BedBar, buildBedData.bedBar); CreateStructure(BuildItemTypeEnum.BedSheets, buildBedData.bedSheets); CreateStructure(BuildItemTypeEnum.BedPillow, buildBedData.bedPillow); AddItemForSellTime(buildBedData.sellTime); AddItemForSellNumber(buildBedData.sellNumber); AddItemForSellMoney(MoneyEnum.S, buildBedData.sellMoneyS); //设置等级相关 SetLevel(buildBedData); //设置研究相关 SetResearch(buildBedData); GameUtil.RefreshRectViewHight((RectTransform)objItemBaseContainer.transform, false); GameUtil.RefreshRectViewHight((RectTransform)objItemStatisticsContainer.transform, false); GameUtil.RefreshRectViewHight((RectTransform)transform, false); }
public void SetData(List <BuildBedBean> listBed) { if (listResearch == null) { listResearch = new List <ItemGameMainHintForResearchCpt>(); } for (int f = 0; f < listBed.Count; f++) { BuildBedBean itemData = listBed[f]; bool hasData = false; for (int i = 0; i < listResearch.Count; i++) { ItemGameMainHintForResearchCpt itemCpt = listResearch[i]; BuildBedBean buildBed = itemCpt.GetBedData(); if (buildBed == null) { continue; } if (buildBed == itemData) { hasData = true; itemCpt.RefreshData(); if (buildBed.GetBedStatus() != ResearchStatusEnum.Researching) { listResearch.Remove(itemCpt); Destroy(itemCpt.gameObject); i--; } } } if (!hasData) { CreateItemForResearch(null, itemData); } } CheckHasData(); }
/// <summary> /// 设置等级 /// </summary> /// <param name="buildBedData"></param> public void SetLevel(BuildBedBean buildBedData) { //设置等级图标 Sprite spLevel = buildBedData.GetBedLevelIcon(); if (spLevel == null) { ivLevel.gameObject.SetActive(false); } else { ivLevel.gameObject.SetActive(true); ivLevel.sprite = spLevel; } //设置不同的等级框 LevelTypeEnum levelType = buildBedData.GetBedLevel(); switch (levelType) { case LevelTypeEnum.Init: ivBgLevel.sprite = spBgLevel0; break; case LevelTypeEnum.Star: ivBgLevel.sprite = spBgLevel1; break; case LevelTypeEnum.Moon: ivBgLevel.sprite = spBgLevel2; break; case LevelTypeEnum.Sun: ivBgLevel.sprite = spBgLevel3; break; } }
/// <summary> /// 根据ID展示建筑 /// </summary> /// <param name="id"></param> /// <param name="buildBedData"></param> public void ShowBuildItem(long id, BuildBedBean buildBedData) { AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal); //先删除原有可能已经展示的建筑 ClearBuildItem(); //建造建筑 GameObject buildItemObj = InnBuildHandler.Instance.builderForFurniture.BuildFurniture(id, buildBedData); //物体先在建筑控件上显示 buildItemObj.transform.SetParent(GameControlHandler.Instance.gameObject.transform); if (buildItemObj == null) { return; } buildItemCpt = buildItemObj.GetComponent <BaseBuildItemCpt>(); //设置展示建筑和鼠标指针一样 //Vector3 mousePosition = SetPositionWithMouse(buildItemCpt.transform); //设置展示位置提示坐标和鼠标指针一样 //listBuildSpaceContent.transform.position = mousePosition; //创建展示位置提示 ShowBuildSpace(); }