/// <summary> /// 设置职业图标 /// </summary> /// <param name="spWorker"></param> public void SetWorkerIcon(WorkerEnum workerType) { Sprite spWorker = null; switch (workerType) { case WorkerEnum.Chef: spWorker = spWorkerChef; break; case WorkerEnum.Waiter: spWorker = spWorkerWaiter; break; case WorkerEnum.Accountant: spWorker = spWorkerAccountant; break; case WorkerEnum.Accost: spWorker = spWorkerAccost; break; case WorkerEnum.Beater: spWorker = spWorkerBeater; break; } if (ivWorker != null) { ivWorker.sprite = spWorker; } }
/// <summary> /// 获取职业名称 /// </summary> /// <param name="workerType"></param> /// <returns></returns> public static string GetWorkerName(WorkerEnum workerType) { string workerName = "???"; switch (workerType) { case WorkerEnum.Chef: workerName = TextHandler.Instance.manager.GetTextById(11); break; case WorkerEnum.Waiter: workerName = TextHandler.Instance.manager.GetTextById(12); break; case WorkerEnum.Accountant: workerName = TextHandler.Instance.manager.GetTextById(13); break; case WorkerEnum.Accost: workerName = TextHandler.Instance.manager.GetTextById(14); break; case WorkerEnum.Beater: workerName = TextHandler.Instance.manager.GetTextById(15); break; } return(workerName); }
public static Sprite GetWorkerSprite(WorkerEnum worker) { string spriteKey = ""; switch (worker) { case WorkerEnum.Chef: spriteKey = "worker_chef_1"; break; case WorkerEnum.Waiter: spriteKey = "worker_waiter_1"; break; case WorkerEnum.Accountant: spriteKey = "worker_accountant_1"; break; case WorkerEnum.Accost: spriteKey = "worker_accost_1"; break; case WorkerEnum.Beater: spriteKey = "worker_beater_1"; break; } return(IconDataHandler.Instance.manager.GetIconSpriteByName(spriteKey)); }
/// <summary> /// 根据类型获取工作数据 /// </summary> /// <param name="worker"></param> /// <returns></returns> public CharacterWorkerBaseBean GetWorkerInfoByType(WorkerEnum worker) { CharacterWorkerBaseBean workerInfo = null; switch (worker) { case WorkerEnum.Chef: workerInfo = chefInfo; break; case WorkerEnum.Waiter: workerInfo = waiterInfo; break; case WorkerEnum.Accountant: workerInfo = accountantInfo; break; case WorkerEnum.Accost: workerInfo = accostInfo; break; case WorkerEnum.Beater: workerInfo = beaterInfo; break; } return(workerInfo); }
/// <summary> /// 根据职业和类型获取竞技场数据 /// </summary> /// <param name="type"></param> /// <param name="workerEnum"></param> /// <returns></returns> private StoreInfoBean GetStoreInfoByTypeAndWorker(TrophyTypeEnum type, WorkerEnum workerEnum) { foreach (StoreInfoBean storeInfo in listArenaInfo) { if (storeInfo.mark_type == (int)type && EnumUtil.GetEnum<WorkerEnum>(storeInfo.pre_data) == workerEnum) { return storeInfo; } } return null; }
/// <summary> /// 创建角色提升item /// </summary> public void CreateCharacterImproveItem( WorkerEnum workerType, CharacterBean characterData, CharacterWorkerBaseBean workerData, StoreInfoBean levelData) { GameObject objItem = Instantiate(objImproveContent, objImproveModel); ItemTownGuildImproveCharacterCpt improveCharacterCpt = objItem.GetComponent <ItemTownGuildImproveCharacterCpt>(); improveCharacterCpt.SetData(workerType, characterData, workerData, levelData); }
/// <summary> /// 设置数据 /// </summary> /// <param name="workerType"></param> /// <param name="characterData"></param> /// <param name="workerData"></param> public void SetData(WorkerEnum workerType, CharacterBean characterData, CharacterWorkerBaseBean workerData, StoreInfoBean levelData) { this.workerType = workerType; this.levelData = levelData; this.characterData = characterData; SetWorkerIcon(workerType); SetName(characterData.baseInfo.name); SetCharacter(characterData); SetLowLevelData(workerType, workerData.workerLevel); SetHighLevelData(workerType, workerData.workerLevel + 1); SetMoney(levelData.price_l, levelData.price_m, levelData.price_s); SetTime(int.Parse(levelData.mark)); }
/// <summary> /// 是否升级排序点击 /// </summary> public void OnClickForWorker(WorkerEnum worker, WorkerDetilsEnum workerDetils) { AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal); this.listCharacterData = this.listCharacterData.OrderByDescending( (data) => { int workNumber = 0; CharacterWorkerBaseBean workerData = data.baseInfo.GetWorkerInfoByType(worker); if (worker == WorkerEnum.Chef || worker == WorkerEnum.Beater || worker == WorkerEnum.Accountant) { if (workerData.isWorking) { workNumber++; } } else if (worker == WorkerEnum.Waiter) { CharacterWorkerForWaiterBean waiterData = workerData as CharacterWorkerForWaiterBean; if (workerDetils == WorkerDetilsEnum.WaiterForCleanBed && waiterData.isWorkingCleanBed) { workNumber++; } if (workerDetils == WorkerDetilsEnum.WaiterForCleanTable && waiterData.isWorkingForCleanTable) { workNumber++; } if (workerDetils == WorkerDetilsEnum.WaiterForSend && waiterData.isWorkingForSend) { workNumber++; } } else if (worker == WorkerEnum.Accost) { CharacterWorkerForAccostBean accostData = workerData as CharacterWorkerForAccostBean; if (workerDetils == WorkerDetilsEnum.AccostForSolicit && accostData.isWorkingForSolicit) { workNumber++; } if (workerDetils == WorkerDetilsEnum.AccostForGuide && accostData.isWorkingForGuide) { workNumber++; } } return(workNumber); }).ToList(); InitData(); }
public void SetData(WorkerEnum workerType, CharacterWorkerBaseBean workInfo) { if (workInfo == null) { return; } //设置等级名称 string workerLevelName = CharacterWorkerBaseBean.GetWorkerLevelName(workInfo.workerLevel) + CharacterWorkerBaseBean.GetWorkerName(workerType); SetLevelName(workerLevelName); //设置经验条 workInfo.GetWorkerExp(out long nextLevelExp, out long currentExp, out float levelProportion); SetExp(workInfo.workerLevel, currentExp, nextLevelExp, levelProportion); // 设置等级图标 SetLevelIcon(workInfo.workerLevel); }
/// <summary> /// 设置高等级数据 /// </summary> /// <param name="workerType"></param> /// <param name="level"></param> /// <param name="spLevel"></param> public void SetHighLevelData(WorkerEnum workerType, int level) { GetLevelData(workerType, level, out string name, out Sprite spLevel); if (tvHighLevelName != null) { tvHighLevelName.text = name; } if (ivHighLevelIcon != null) { if (spLevel == null) { ivHighLevelIcon.color = new Color(0, 0, 0, 0); } else { ivHighLevelIcon.sprite = spLevel; } } }
/// <summary> /// 升级提示 /// </summary> /// <param name="worker"></param> public void ToastForLevelUp(WorkerEnum worker) { long toastId = 1121; string iconStr = ""; switch (worker) { case WorkerEnum.Chef: iconStr = "worker_chef_1"; toastId = 1121; break; case WorkerEnum.Waiter: iconStr = "worker_waiter_1"; toastId = 1122; break; case WorkerEnum.Accountant: iconStr = "worker_accountant_1"; toastId = 1123; break; case WorkerEnum.Accost: iconStr = "worker_accost_1"; toastId = 1124; break; case WorkerEnum.Beater: iconStr = "worker_beater_1"; toastId = 1125; break; } AudioHandler.Instance.PlaySound(AudioSoundEnum.Reward); string levelupStr = string.Format(TextHandler.Instance.manager.GetTextById(toastId), npcAIWorker.characterData.baseInfo.name); ToastHandler.Instance.ToastHint(IconDataHandler.Instance.manager.GetIconSpriteByName(iconStr), levelupStr); }
/// <summary> /// 获取等级数据 /// </summary> /// <param name="workerType"></param> /// <param name="level"></param> /// <param name="name"></param> /// <param name="spLevel"></param> private void GetLevelData(WorkerEnum workerType, int level, out string name, out Sprite spLevel) { string workName = CharacterWorkerBaseBean.GetWorkerName(workerType); string workLevelName = CharacterWorkerBaseBean.GetWorkerLevelName(level); name = workLevelName + workName; spLevel = null; switch (level) { case 0: break; case 1: spLevel = spWorkerLevel_1; break; case 2: spLevel = spWorkerLevel_2; break; case 3: spLevel = spWorkerLevel_3; break; case 4: spLevel = spWorkerLevel_4; break; case 5: spLevel = spWorkerLevel_5; break; case 6: spLevel = spWorkerLevel_6; break; } }
public WorkerInfo(WorkerEnum worker, int priority, bool isWork) { this.isWork = isWork; this.priority = priority; this.worker = worker; }
/// <summary> /// 游戏结束 /// </summary> /// <param name="isWinGame"></param> /// <param name="isSlow">是否开启慢镜头</param> public virtual void EndGame(MiniGameResultEnum gameResulte, bool isSlow) { if (GetMiniGameStatus() == MiniGameStatusEnum.Gameing) { SetMiniGameStatus(MiniGameStatusEnum.GameEnd); StopAllCoroutines(); //拉近尽头 BaseControl baseControl = GameControlHandler.Instance.manager.GetControl(); if (baseControl) { baseControl.SetCameraOrthographicSize(6); } if (isSlow) { //开启慢镜头 Time.timeScale = 0.1f; } transform.DOScale(new Vector3(1, 1, 1), 0.3f).OnComplete(delegate() { Time.timeScale = 1f; if (baseControl) { baseControl.SetCameraOrthographicSize(); } if (miniGameBuilder) { miniGameBuilder.DestroyAll(); } //设置游戏数据 miniGameData.SetGameResult(gameResulte); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); //经验加成 List <MiniGameCharacterBean> listUserData = miniGameData.GetListUserGameData(); List <CharacterBean> listWorkerData = gameData.GetAllCharacterData(); foreach (MiniGameCharacterBean itemCharacterData in listUserData) { foreach (CharacterBean itemWorkerData in listWorkerData) { if (itemWorkerData.baseInfo.characterId == null || itemCharacterData.characterData.baseInfo.characterId == null) { continue; } if (itemWorkerData.baseInfo.characterId.Equals(itemCharacterData.characterData.baseInfo.characterId)) { WorkerEnum workerType = MiniGameEnumTools.GetWorkerTypeByMiniGameType(miniGameData.gameType); CharacterWorkerBaseBean characterWorker = itemWorkerData.baseInfo.GetWorkerInfoByType(workerType); if (miniGameData.GetGameResult() == MiniGameResultEnum.Win) { characterWorker.AddExp(10, out bool isLevelUp); } else { characterWorker.AddExp(5, out bool isLevelUp); } } } } //打开游戏结束UI UIMiniGameEnd uiMiniGameEnd = UIHandler.Instance.manager.OpenUIAndCloseOther <UIMiniGameEnd>(UIEnum.MiniGameEnd); uiMiniGameEnd.SetData(miniGameData); uiMiniGameEnd.SetCallBack(this); }); //通知 游戏结束 notifyForMiniGameStatus?.Invoke(MiniGameStatusEnum.GameEnd, new object[] { miniGameData }); AudioHandler.Instance.StopMusic(); } }
protected static void CompleteRewardForExp(List <CharacterBean> listCharacterData, WorkerEnum workerType, int exp) { if (CheckUtil.ListIsNull(listCharacterData)) { return; } foreach (CharacterBean itemData in listCharacterData) { CharacterWorkerBaseBean characterWorker = itemData.baseInfo.GetWorkerInfoByType(workerType); characterWorker.AddExp(exp, out bool isLevelUp); } }