protected T GetModel <T>(string assetBundlePath, string name, string remarkResourcesPath) where T : Object { if (name == null) { return(null); } T model = null; #if UNITY_EDITOR //编辑器模式下直接加载资源 if (!CheckUtil.StringIsNull(remarkResourcesPath)) { model = LoadAssetUtil.LoadAssetAtPathForEditor <T>(remarkResourcesPath); } else { model = LoadAssetUtil.SyncLoadAsset <T>(assetBundlePath, name); } #else model = LoadAssetUtil.SyncLoadAsset <T>(assetBundlePath, name); #endif return(model); }
/// <summary> /// 生成战斗 /// </summary> public void OnClickCombatBuild() { MiniGameCombatBean miniGameCombat = (MiniGameCombatBean)MiniGameEnumTools.GetMiniGameData(MiniGameEnum.Combat); if (CheckUtil.StringIsNull(etCombatPlayerIds.text)) { LogUtil.LogError("没有玩家ID"); return; } if (CheckUtil.StringIsNull(etCombatPlayerIds.text)) { LogUtil.LogError("没有敌人ID"); return; } List <long> playerIds = GetIds(etCombatPlayerIds.text); List <long> EnemyIds = GetIds(etCombatEnemyIds.text); miniGameCombat.winBringDownNumber = EnemyIds.Count; miniGameCombat.winSurvivalNumber = 1; List <CharacterBean> listOurData = new List <CharacterBean>(); foreach (long id in playerIds) { listOurData.Add(NpcInfoHandler.Instance.manager.GetCharacterDataById(id)); } List <CharacterBean> listEnemyData = new List <CharacterBean>(); foreach (long id in EnemyIds) { listEnemyData.Add(NpcInfoHandler.Instance.manager.GetCharacterDataById(id)); } miniGameCombat.InitData(listOurData, listEnemyData); //找到竞技场战斗的地点 miniGameCombat.miniGamePosition = new Vector3(0, 10, 0); //初始化游戏 MiniGameHandler.Instance.handlerForCombat.InitGame(miniGameCombat); }
/// <summary> /// 通过UI的名字开启UI /// </summary> /// <param name="uiName"></param> public T OpenUIByName <T>(string uiName) where T : BaseUIComponent { if (CheckUtil.StringIsNull(uiName)) { return(null); } for (int i = 0; i < uiList.Count; i++) { BaseUIComponent itemUI = uiList[i]; if (itemUI.name.Equals(uiName)) { itemUI.OpenUI(); return(itemUI as T); } } T uiComponent = CreateUI <T>(uiName); if (uiComponent) { uiComponent.OpenUI(); return(uiComponent); } return(null); }
/// <summary> /// string 拆分成指定枚举 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="data"></param> /// <param name="substring"></param> /// <returns></returns> public static T[] SplitBySubstringForArrayEnum <T>(string data, char substring) { if (CheckUtil.StringIsNull(data)) { return(new T[0]); } string[] splitData = data.Split(new char[] { substring }, StringSplitOptions.RemoveEmptyEntries); if (CheckUtil.ArrayIsNull(splitData)) { return(new T[0]); } T[] listData = new T[splitData.Length]; for (int i = 0; i < splitData.Length; i++) { if (CheckUtil.StringIsNull(splitData[i])) { } else { listData[i] = EnumUtil.GetEnum <T>(splitData[i]); } } return(listData); }
/// <summary> /// 设置数据 /// </summary> /// <param name="storeInfo"></param> public void SetData(StoreInfoBean storeInfo) { this.storeInfo = storeInfo; this.itemsInfo = GameItemsHandler.Instance.manager.GetItemsById(storeInfo.mark_id); if (itemsInfo == null || storeInfo == null) { return; } //如果图标key没有则替换成itemInfo的图标 string iconKey = storeInfo.icon_key; if (CheckUtil.StringIsNull(iconKey)) { iconKey = itemsInfo.icon_key; } SetIcon(itemsInfo, storeInfo.mark, storeInfo.mark_id); SetPrice(storeInfo.price_l, storeInfo.price_m, storeInfo.price_s, storeInfo.guild_coin, storeInfo.trophy_elementary, storeInfo.trophy_intermediate, storeInfo.trophy_advanced, storeInfo.trophy_legendary); SetName(itemsInfo.name); SetContent(itemsInfo.content); SetOwn(); SetGetNumber(storeInfo.get_number); int cookBookNumber = itemsInfo.items_type == (int)GeneralEnum.Menu ? 1 : 0; SetAttribute( cookBookNumber, itemsInfo.add_cook, itemsInfo.add_speed, itemsInfo.add_account, itemsInfo.add_charm, itemsInfo.add_force, itemsInfo.add_lucky); SetPopupData(itemsInfo); }
/// <summary> /// 通过UI的名字开启UI /// </summary> /// <param name="uiName"></param> public BaseUIComponent OpenUIByName(string uiName) { BaseUIComponent uiComponent = null; if (CheckUtil.StringIsNull(uiName)) { return(uiComponent); } bool hasData = false; for (int i = 0; i < uiList.Count; i++) { BaseUIComponent itemUI = uiList[i]; if (itemUI.name.Contains(uiName)) { itemUI.OpenUI(); hasData = true; } } if (!hasData) { GameObject uiModel = LoadAssetUtil.SyncLoadAsset <GameObject>("ui/ui", uiName); //BaseUIComponent uiModel = LoadResourcesUtil.SyncLoadData<BaseUIComponent>("UI/"+ uiName); if (uiModel) { GameObject objUIComponent = Instantiate(gameObject, uiModel.gameObject); uiComponent = objUIComponent.GetComponent <BaseUIComponent>(); uiList.Add(uiComponent); } else { LogUtil.LogError("没有找到指定UI:" + "ui/ui " + uiName); } } return(uiComponent); }
protected void BuildListFurniture(List <InnResBean> listData) { for (int i = 0; i < listData.Count; i++) { InnResBean itemData = listData[i]; if (CheckUtil.StringIsNull(itemData.remarkId)) { BuildFurniture(itemData, null); } else { //如果有备注ID说明是床或者其他建筑 //是床 BuildBedBean tempBuildBedData = null; //bool hasData = false; GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); for (int f = 0; f < gameData.listBed.Count; f++) { BuildBedBean buildBedData = gameData.listBed[f]; if (buildBedData != null && buildBedData.remarkId.Equals(itemData.remarkId)) { tempBuildBedData = buildBedData; //hasData = true; break; } } BuildFurniture(itemData, tempBuildBedData); //如果没有找到数据则删除这个建筑 //if (!hasData) //{ // listData.Remove(itemData); // i--; //} } } }
private List <PuzzlesInfoBean> CreateGameInfoListByInstallInfo(List <SteamWorkshopQueryInstallInfoBean> listData) { List <PuzzlesInfoBean> listInfoData = new List <PuzzlesInfoBean>(); foreach (SteamWorkshopQueryInstallInfoBean itemData in listData) { if (CheckUtil.StringIsNull(itemData.metaData)) { continue; } PuzzlesInfoBean infoData = JsonUtil.FromJson <PuzzlesInfoBean>(itemData.metaData); infoData.id = -1; infoData.name = itemData.detailsInfo.m_rgchTitle; infoData.introduction_content = itemData.detailsInfo.m_rgchDescription; if (!CheckUtil.StringIsNull(itemData.pchFolder)) { infoData.data_file_path = itemData.pchFolder + "\\"; } infoData.data_type = (int)JigsawResourcesEnum.Custom; infoData.thumb_file_path = itemData.previewUrl; listInfoData.Add(infoData); } return(listInfoData); }
/// <summary> /// 通过用户ID获取游戏数据 /// </summary> /// <param name="userId"></param> /// <returns></returns> public GameDataBean GetGameDataByUserId(string userId) { GameDataBean gameData = mGameDataService.QueryDataByUserId(userId); //错误纠正 if (gameData != null) { if (CheckUtil.StringIsNull(gameData.userCharacter.baseInfo.characterId)) { gameData.userCharacter.baseInfo.characterId = userId; } if (!CheckUtil.ListIsNull(gameData.listWorkerCharacter)) { foreach (CharacterBean characterData in gameData.listWorkerCharacter) { if (CheckUtil.StringIsNull(characterData.baseInfo.characterId)) { characterData.baseInfo.characterId = SystemUtil.GetUUID(SystemUtil.UUIDTypeEnum.N); } } } } return(gameData); }
public override void SelectionUse(ItemsSelectionDialogView view) { GeneralEnum itemsType = itemsInfoData.GetItemsType(); switch (itemsType) { case GeneralEnum.Book: //读书 if (characterData.attributes.CheckLearnBook(itemsInfoData.id)) { //已经学习过该图书 string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1009), characterData.baseInfo.name, itemsInfoData.name); ToastHandler.Instance.ToastHint(toastStr); } else { if (!CheckUtil.StringIsNull(itemsInfoData.remark) && itemsInfoData.remark.Equals("Recruit")) { //如果是只有招募NPC才能使用的书 //判断是否是招募NPC if (characterData.baseInfo.characterType == (int)NpcTypeEnum.RecruitTown || (characterData.npcInfoData != null && characterData.npcInfoData.GetNpcType() == NpcTypeEnum.RecruitTown)) { //学习该图书 LearnBook(); } else { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1035)); } } else { LearnBook(); } } break; case GeneralEnum.SkillBook: if (characterData.attributes.CheckLearnSkills(itemsInfoData.add_id)) { //已经学习过该技能 string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1063), characterData.baseInfo.name, itemsInfoData.name); ToastHandler.Instance.ToastHint(toastStr); } else { //判断是否可学习 Action <List <SkillInfoBean> > callBack = SetSkillInfoData; SkillInfoHandler.Instance.manager.GetSkillById(itemsInfoData.add_id, callBack); } break; case GeneralEnum.Other: if (itemsInfoData.id == 99900001) { //忘记技能的孟婆汤 if (!CheckUtil.ListIsNull(characterData.attributes.listSkills)) { int removePosition = UnityEngine.Random.Range(0, characterData.attributes.listSkills.Count); characterData.attributes.listSkills.RemoveAt(removePosition); } ToastHandler.Instance.ToastHint(characterData.baseInfo.name + TextHandler.Instance.manager.GetTextById(1067)); RefreshItems(itemsInfoData.id, -1); } break; default: break; } GetUIComponent <UIGameEquip>().RefreshUI(); }
/// <summary> /// 设置性别 /// </summary> /// <param name="sex">0未知 1男 2女 3中性</param> public void SetSex(int sex, string otherSkin) { Sprite spTrunk = null; if (CheckUtil.StringIsNull(otherSkin) || otherSkin.Equals("Def")) { switch (sex) { case 0: spTrunk = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName("character_body_man"); break; case 1: spTrunk = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName("character_body_man"); break; case 2: spTrunk = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName("character_body_woman"); break; case 3: spTrunk = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName("character_body_man"); break; } if (ivBody != null && spTrunk != null) { ivBody.sprite = spTrunk; } if (ivHead != null) { ivHead.sprite = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName("character_head"); } if (ivFootLeft != null) { ivFootLeft.sprite = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName("character_body_left_foot"); } if (ivFootRight != null) { ivFootRight.sprite = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName("character_body_right_foot"); } } else { if (ivHead != null) { ivHead.sprite = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName(otherSkin + "_0"); } if (ivBody != null) { ivBody.sprite = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName(otherSkin + "_1"); } if (ivFootLeft != null) { ivFootLeft.sprite = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName(otherSkin + "_2"); } if (ivFootRight != null) { ivFootRight.sprite = CharacterBodyHandler.Instance.manager.GetTrunkSpriteByName(otherSkin + "_3"); } } }
/// <summary> /// 链表插入数据 /// </summary> /// <param name="itemData"></param> /// <param name="listLeftName"></param> public bool BaseInsertDataWithLeft <T>(T itemData, List <string> listLeftName) { //插入数据 Dictionary <string, object> mapData = ReflexUtil.GetAllNameAndValue(itemData); List <string> listMainKeys = new List <string>(); List <string> listMainValues = new List <string>(); List <string> listLeftKeys = new List <string>(); List <string> listLeftValues = new List <string>(); foreach (var item in mapData) { string itemKey = item.Key; if (listLeftName.Contains(itemKey)) { string valueStr = Convert.ToString(item.Value); listLeftKeys.Add(item.Key); if (item.Value == null) { listLeftValues.Add("null"); } else if (item.Value is string) { if (CheckUtil.StringIsNull(valueStr)) { listLeftValues.Add("null"); } else { listLeftValues.Add("'" + valueStr + "'"); } } else if (item.Value == null) { listLeftValues.Add("null"); } else { listLeftValues.Add(valueStr); } } else { string valueStr = Convert.ToString(item.Value); listMainKeys.Add(item.Key); if (item.Value == null) { listMainValues.Add("null"); } else if (item.Value is string) { if (CheckUtil.StringIsNull(valueStr)) { listMainValues.Add("null"); } else { listMainValues.Add("'" + valueStr + "'"); } } else if (item.Value == null) { listMainValues.Add("null"); } else { listMainValues.Add(valueStr); } } } bool isInsert = true; isInsert = SQLiteHandle.InsertValues(ProjectConfigInfo.DATA_BASE_INFO_NAME, tableNameForMain, TypeConversionUtil.ListToArray(listMainKeys), TypeConversionUtil.ListToArray(listMainValues)); if (isInsert) { SQLiteHandle.InsertValues(ProjectConfigInfo.DATA_BASE_INFO_NAME, tableNameForLeft, TypeConversionUtil.ListToArray(listLeftKeys), TypeConversionUtil.ListToArray(listLeftValues)); } return(isInsert); }
public CharacterBean(NpcInfoBean npcInfo) { baseInfo.characterType = npcInfo.npc_type; baseInfo.characterId = npcInfo.id + ""; baseInfo.titleName = npcInfo.title_name; baseInfo.name = npcInfo.name; baseInfo.priceL = npcInfo.wage_l; baseInfo.priceM = npcInfo.wage_m; baseInfo.priceS = npcInfo.wage_s; //设置最喜欢的东西 if (!CheckUtil.StringIsNull(npcInfo.love_items)) { baseInfo.listLoveItems = StringUtil.SplitBySubstringForArrayLong(npcInfo.love_items, ',').ToList(); } body = new CharacterBodyBean(); body.hair = npcInfo.hair_id; //设置头发颜色 ColorBean hairColor = new ColorBean(npcInfo.hair_color); if (hairColor != null) { body.hairColor = hairColor; } body.eye = npcInfo.eye_id; //设置眼睛颜色 ColorBean eyeColor = new ColorBean(npcInfo.eye_color); if (eyeColor != null) { body.eyeColor = eyeColor; } body.mouth = npcInfo.mouth_id; //设置嘴巴颜色 ColorBean mouthColor = new ColorBean(npcInfo.mouth_color); if (mouthColor != null) { body.mouthColor = mouthColor; } body.sex = npcInfo.sex; body.face = npcInfo.face; //设置皮肤颜色 ColorBean skinColor = new ColorBean(npcInfo.skin_color); if (skinColor != null) { body.skinColor = skinColor; } //设置装备 equips = new CharacterEquipBean(); equips.maskId = npcInfo.mask_id; equips.handId = npcInfo.hand_id; equips.hatId = npcInfo.hat_id; equips.clothesId = npcInfo.clothes_id; equips.shoesId = npcInfo.shoes_id; equips.maskId = npcInfo.mask_id; //设置属性 attributes = new CharacterAttributesBean(); attributes.loyal = npcInfo.attributes_loyal; attributes.life = npcInfo.attributes_life; attributes.cook = npcInfo.attributes_cook; attributes.speed = npcInfo.attributes_speed; attributes.account = npcInfo.attributes_account; attributes.charm = npcInfo.attributes_charm; attributes.force = npcInfo.attributes_force; attributes.lucky = npcInfo.attributes_lucky; //设置技能 attributes.listSkills = npcInfo.GetSkillIds(); npcInfoData = npcInfo; }
/// <summary> /// 根据层数获取奖励 /// </summary> /// <param name="layer"></param> /// <param name="normalBuildRate"></param> /// <returns></returns> public static List <RewardTypeBean> GetRewardItemsForInfiniteTowers(List <CharacterBean> listEnemyData, int layer, int totalLucky, bool isSend) { List <RewardTypeBean> listReward = new List <RewardTypeBean>(); long addExp = 0; long addMoneyS = 0; //获取稀有物品概率 float normalBuildRate = 0.25f + 0.0025f * (totalLucky / 3f); float rateRate = 0; if (isSend) { rateRate = 0.05f + 0.0005f * totalLucky; } else { rateRate = 0.1f + 0.0005f * totalLucky; } if (layer % 10 == 0) { //添加经验奖励 addExp = layer * 5; //添加金钱奖励 addMoneyS = layer * 50; //BOSS奖励 string rewardForNormalStr = ""; string rewardForRareStr = ""; string rewardForNormalBuildStr = ""; string rewardForRareBuildStr = ""; switch (layer) { case 10: case 20: case 30: GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalRewardForLevel1, out rewardForNormalStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareRewardForLevel1, out rewardForRareStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalBuildRewardForLevel1, out rewardForNormalBuildStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareBuildRewardForLevel1, out rewardForRareBuildStr); break; case 40: case 50: case 60: GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalRewardForLevel2, out rewardForNormalStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareRewardForLevel2, out rewardForRareStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalBuildRewardForLevel2, out rewardForNormalBuildStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareBuildRewardForLevel2, out rewardForRareBuildStr); break; case 70: case 80: case 90: GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalRewardForLevel3, out rewardForNormalStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareRewardForLevel3, out rewardForRareStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalBuildRewardForLevel3, out rewardForNormalBuildStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareBuildRewardForLevel3, out rewardForRareBuildStr); break; default: GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalRewardForLevel4, out rewardForNormalStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareRewardForLevel4, out rewardForRareStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersNormalBuildRewardForLevel4, out rewardForNormalBuildStr); GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.InfiniteTowersRareBuildRewardForLevel4, out rewardForRareBuildStr); break; } if (!CheckUtil.StringIsNull(rewardForNormalStr)) { //必定随机获得一个物品 RewardTypeBean rewardForItems = GetRandomRewardForData(listEnemyData, RewardTypeEnum.AddItems, rewardForNormalStr); listReward.Add(rewardForItems); //有一定概率获得建筑物 float randomTemp = UnityEngine.Random.Range(0f, 1f); if (!CheckUtil.StringIsNull(rewardForNormalBuildStr) && randomTemp <= normalBuildRate) { RewardTypeBean rewardForBuild = GetRandomRewardForData(listEnemyData, RewardTypeEnum.AddBuildItems, rewardForNormalBuildStr); listReward.Add(rewardForBuild); } } if (!CheckUtil.StringIsNull(rewardForRareStr)) { //有一定概率获得稀有物品 float randomTemp = UnityEngine.Random.Range(0f, 1f); if (randomTemp <= rateRate) { RewardTypeBean rewardForItems = GetRandomRewardForData(listEnemyData, RewardTypeEnum.AddItems, rewardForRareStr); listReward.Add(rewardForItems); } } } else { //添加经验奖励 addExp = layer; //添加金钱奖励 addMoneyS = layer * 5; } RewardTypeBean rewardForExp = new RewardTypeBean(RewardTypeEnum.AddBeaterExp, addExp + ""); listReward.Add(rewardForExp); RewardTypeBean rewardForMoneyS = new RewardTypeBean(RewardTypeEnum.AddMoneyS, addMoneyS + ""); listReward.Add(rewardForMoneyS); return(listReward); }
private NpcAIImportantCpt BuildNpc(CharacterBean characterData) { GameObject npcObj = null; try { if (objNpcModel == null || objNpcContainer == null) { return(null); } //检测是否已经招募 GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (gameData.CheckHasWorker(characterData.baseInfo.characterId)) { return(null); } //检测是否是老婆 FamilyDataBean familyData = gameData.GetFamilyData(); if (familyData.CheckIsMate(characterData.npcInfoData.id)) { return(null); } if (gameData.gameTime.year == 0 && gameData.gameTime.month == 0 && gameData.gameTime.day == 0) { //如果是测试 这默认生成所有NPC } else { //检测是否满足出现条件 if (!CheckUtil.StringIsNull(characterData.npcInfoData.condition) && !ShowConditionTools.CheckIsMeetAllCondition(gameData, characterData.npcInfoData.condition)) { return(null); } } npcObj = Instantiate(objNpcContainer, objNpcModel); npcObj.transform.position = new Vector3(characterData.npcInfoData.position_x, characterData.npcInfoData.position_y); npcObj.transform.localScale = new Vector3(1, 1); NpcAIImportantCpt aiCpt = npcObj.GetComponent <NpcAIImportantCpt>(); aiCpt.SetCharacterData(characterData); if (characterData.npcInfoData.GetNpcType() == NpcTypeEnum.Special || characterData.npcInfoData.GetNpcType() == NpcTypeEnum.RecruitTown) { if (!GameCommonInfo.DailyLimitData.CheckIsTalkNpc(characterData.npcInfoData.id)) { if (characterData.npcInfoData.GetTalkTypes().Contains(NpcTalkTypeEnum.OneTalk) || characterData.npcInfoData.GetTalkTypes().Contains(NpcTalkTypeEnum.Recruit)) { aiCpt.SetExpression(CharacterExpressionCpt.CharacterExpressionEnum.Doubt, -1); } } } //如果没有对话选项则不能互动 BoxCollider2D talkBox = npcObj.GetComponent <BoxCollider2D>(); if (talkBox != null) { if (CheckUtil.StringIsNull(characterData.npcInfoData.talk_types)) { talkBox.enabled = false; } } return(aiCpt); } catch { if (npcObj != null) { Destroy(npcObj); } return(null); } }
private GameObject CreateInstallItem(PuzzlesGameInfoBean itemInfo) { PuzzlesInfoBean infoBean = itemInfo.puzzlesInfo; PuzzlesCompleteStateBean completeStateBean = itemInfo.completeStateInfo; itemInfo.completeStateInfo = completeStateBean; itemInfo.puzzlesInfo = infoBean; GameObject itemObj = Instantiate(installModel); itemObj.transform.parent = this.transform; itemObj.transform.localScale = new Vector3(1f, 1f, 1f); itemObj.SetActive(true); itemObj.name = infoBean.Mark_file_name; itemObj.transform.SetParent(transform); //设置背景图片 Image backImage = CptUtil.getCptFormParentByName <Transform, Image>(itemObj.transform, "JigsawPic"); string filePath = infoBean.thumb_file_path; StartCoroutine(ResourcesManager.LoadAsyncHttpImage(filePath, backImage)); //设置按键 Button startBT = CptUtil.getCptFormParentByName <Transform, Button>(itemObj.transform, "JigsawStart"); Text startBTText = CptUtil.getCptFormParentByName <Transform, Text>(itemObj.transform, "JigsawStartText"); if (!CheckUtil.StringIsNull(infoBean.data_file_path)) { startBT.onClick.AddListener(delegate() { SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1); CommonData.SelectPuzzlesInfo = itemInfo; SceneUtil.jumpGameScene(); }); if (itemInfo.progressInfo != null) { startBTText.text = CommonData.getText(85); } else { startBTText.text = CommonData.getText(14); } } else { startBTText.text = CommonData.getText(130); } //最好分数 Transform bestScoreTF = CptUtil.getCptFormParentByName <Transform, Transform>(itemObj.transform, "JigsawBestScore"); Text bestScore = CptUtil.getCptFormParentByName <Transform, Text>(itemObj.transform, "JigsawBestScoreText"); if (completeStateBean != null && completeStateBean.completeTime != null) { bestScore.text = GameUtil.GetTimeStr(completeStateBean.completeTime.totalSeconds); } else { bestScoreTF.gameObject.SetActive(false); } //设置文本信息 Text jigsawNameText = CptUtil.getCptFormParentByName <Transform, Text>(itemObj.transform, "JigsawName"); jigsawNameText.text = infoBean.Name; return(itemObj); }
public void Submit(DialogView dialogView, DialogBean dialogBean) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (dialogView is PickForCharacterDialogView) { buildBedData.GetResearchPrice(out long researchPriceL, out long researchPriceM, out long researchPriceS); //先判断一下是否有钱支付 if (!gameData.HasEnoughMoney(researchPriceL, researchPriceM, researchPriceS)) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1005)); return; } //扣除金钱 gameData.PayMoney(researchPriceL, researchPriceM, researchPriceS); //角色选择 PickForCharacterDialogView pickForCharacterDialog = dialogView as PickForCharacterDialogView; List <CharacterBean> listPickCharacter = pickForCharacterDialog.GetPickCharacter(); if (!CheckUtil.ListIsNull(listPickCharacter)) { //开始研究 buildBedData.StartResearch(listPickCharacter); string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1201), listPickCharacter[0].baseInfo.name, buildBedData.bedName); ToastHandler.Instance.ToastHint(toastStr); } } else if (dialogView is InputTextDialogView) { InputTextDialogView inputTextDialog = dialogView as InputTextDialogView; string bedName = inputTextDialog.GetText(); if (!CheckUtil.StringIsNull(bedName)) { buildBedData.bedName = bedName; } } else { if (dialogBean.dialogPosition == 1) { if (buildBedData.GetBedStatus() == ResearchStatusEnum.Researching) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1313)); return; } if (buildBedData.isSet) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1314)); return; } //丢弃确认 gameData.RemoveBed(buildBedData); uiComponent.RefreshUI(); } else if (dialogBean.dialogPosition == 2) { //普通弹窗(取消研究) buildBedData.CancelResearch(gameData); } } //重新设置数据 if (gameObject) { SetData(buildBedData); } }