Пример #1
0
    /// <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;
        }
    }
Пример #2
0
    /// <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);
    }
Пример #3
0
    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));
    }
Пример #4
0
    /// <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);
    }
Пример #5
0
 /// <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;
 }
Пример #6
0
    /// <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);
    }
Пример #7
0
 /// <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));
 }
Пример #8
0
 /// <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();
 }
Пример #9
0
    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);
    }
Пример #10
0
 /// <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;
         }
     }
 }
Пример #11
0
    /// <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);
    }
Пример #12
0
    /// <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;
        }
    }
Пример #13
0
 public WorkerInfo(WorkerEnum worker, int priority, bool isWork)
 {
     this.isWork   = isWork;
     this.priority = priority;
     this.worker   = worker;
 }
Пример #14
0
 /// <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();
     }
 }
Пример #15
0
    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);
        }
    }