Пример #1
0
    /// <summary>
    /// 获取对应等级图标
    /// </summary>
    /// <param name="iconDataManager"></param>
    /// <returns></returns>
    public Sprite GetBedLevelIcon()
    {
        LevelTypeEnum bedLevel = GetBedLevel();
        Sprite        spIcon   = LevelTypeEnumTools.GetLevelIcon(bedLevel);

        return(spIcon);
    }
Пример #2
0
    /// <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));
        }
    }
Пример #3
0
    public static string GetLevelStr(LevelTypeEnum level)
    {
        string levelStr = "";

        if (level == LevelTypeEnum.Init)
        {
            levelStr = TextHandler.Instance.manager.GetTextById(104);
        }
        else if (level == LevelTypeEnum.Star)
        {
            levelStr = TextHandler.Instance.manager.GetTextById(101);
        }
        else if (level == LevelTypeEnum.Moon)
        {
            levelStr = TextHandler.Instance.manager.GetTextById(102);
        }
        else if (level == LevelTypeEnum.Sun)
        {
            levelStr = TextHandler.Instance.manager.GetTextById(103);
        }
        else
        {
        }
        return(levelStr);
    }
Пример #4
0
 /// <summary>
 /// 设置等级
 /// </summary>
 /// <param name="level"></param>
 /// <param name="spIcon"></param>
 public void SetLevel(LevelTypeEnum level, Sprite spIcon)
 {
     pbReputation.gameObject.SetActive(true);
     ivReputation.sprite = spIcon;
     if (level == LevelTypeEnum.Init)
     {
         tvName.color        = new Color(0, 0, 0, 1f);
         ivBackground.sprite = spBackgroundInit;
         pbReputation.gameObject.SetActive(false);
     }
     else if (level == LevelTypeEnum.Star)
     {
         tvName.color        = new Color(0, 0.75f, 0, 1f);
         ivBackground.sprite = spBackgroundStar;
     }
     else if (level == LevelTypeEnum.Moon)
     {
         tvName.color        = new Color(0.1f, 0.75f, 0.95f, 1f);
         ivBackground.sprite = spBackgroundMoon;
     }
     else if (level == LevelTypeEnum.Sun)
     {
         tvName.color        = new Color(1, 0.85f, 0.2f, 1f);
         ivBackground.sprite = spBackgroundSun;
     }
     else
     {
         tvName.color        = new Color(0, 0, 0, 1f);
         ivBackground.sprite = spBackgroundInit;
     }
 }
Пример #5
0
    /// <summary>
    /// 获取价格
    /// </summary>
    /// <param name="menuInfo"></param>
    /// <param name="priceL"></param>
    /// <param name="priceM"></param>
    /// <param name="priceS"></param>
    public void GetPrice(MenuInfoBean menuInfo, out long priceL, out long priceM, out long priceS)
    {
        float         addRate   = 1;
        LevelTypeEnum menuLevel = GetMenuLevel();

        if (menuLevel == LevelTypeEnum.Init)
        {
            addRate = 1;
        }
        else if (menuLevel == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.MenuForPriceAddRate1, out addRate);
        }
        else if (menuLevel == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.MenuForPriceAddRate2, out addRate);
        }
        else if (menuLevel == LevelTypeEnum.Sun)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.MenuForPriceAddRate3, out addRate);
        }
        priceL = (long)(menuInfo.price_l * addRate);
        priceM = (long)(menuInfo.price_m * addRate);
        priceS = (long)(menuInfo.price_s * addRate);
    }
Пример #6
0
    /// <summary>
    /// 获取对应等级图标
    /// </summary>
    /// <param name="iconDataManager"></param>
    /// <returns></returns>
    public Sprite GetMenuLevelIcon()
    {
        LevelTypeEnum menuLevel = GetMenuLevel();
        Sprite        spIcon    = LevelTypeEnumTools.GetLevelIcon(menuLevel);

        return(spIcon);
    }
Пример #7
0
    /// <summary>
    /// 增加研究经验
    /// </summary>
    /// <param name="exp"></param>
    public bool AddResearchExp(int exp)
    {
        researchExp += exp;
        int           researchLevelExp = 0;
        LevelTypeEnum bedLevel         = GetBedLevel();

        if (bedLevel == LevelTypeEnum.Init)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelResearchExp1, out researchLevelExp);
        }
        else if (bedLevel == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelResearchExp2, out researchLevelExp);
        }
        else if (bedLevel == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelResearchExp3, out researchLevelExp);
        }

        if (researchLevelExp == 0)
        {
            researchExp = 0;
        }
        else if (researchExp >= researchLevelExp)
        {
            researchExp = researchLevelExp;
            return(true);
        }
        return(false);
    }
Пример #8
0
    /// <summary>
    /// 获取价格
    /// </summary>
    /// <param name="menuInfo"></param>
    /// <param name="priceL"></param>
    /// <param name="priceM"></param>
    /// <param name="priceS"></param>
    public void GetPrice(out long outPriceL, out long outPriceM, out long outPriceS)
    {
        float         addRate  = 1;
        LevelTypeEnum bedLevel = GetBedLevel();

        if (bedLevel == LevelTypeEnum.Init)
        {
            addRate = 1;
        }
        else if (bedLevel == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForPriceAddRate1, out addRate);
        }
        else if (bedLevel == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForPriceAddRate2, out addRate);
        }
        else if (bedLevel == LevelTypeEnum.Sun)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForPriceAddRate3, out addRate);
        }
        outPriceL = (long)(priceL * addRate);
        outPriceM = (long)(priceM * addRate);
        outPriceS = (long)(priceS * addRate);
    }
Пример #9
0
    /// <summary>
    /// 获取菜品等级
    /// </summary>
    /// <returns></returns>
    public LevelTypeEnum GetBedLevel(out string levelStr, out int nextLevelExp)
    {
        levelStr = "???";
        LevelTypeEnum bedLevel = GetBedLevel();

        levelStr     = LevelTypeEnumTools.GetLevelStr(bedLevel);
        nextLevelExp = GetBedLevelUpExp(bedLevel);
        return(bedLevel);
    }
 private static int GetLevelDepth(Hierarchy oHierarchy, LevelTypeEnum LevelType)
 {
     foreach (Level oLevel in oHierarchy.Levels)
     {
         if (oLevel.LevelType == LevelType)
         {
             return(oLevel.LevelNumber);
         }
     }
     throw new Exception("Could not find a level of type " + LevelType.ToString() + ". If you are looking for this level in a Fiscal hierarchy, the code will need to change to use AMO so it can see all the types of levels, not just the level types that AdomdServer exposes.");
 }
Пример #11
0
    /// <summary>
    /// 获取研究材料消耗
    /// </summary>
    /// <param name="menuInfo"></param>
    /// <returns></returns>
    public SortedList <IngredientsEnum, long> GetResearchIngredients(MenuInfoBean menuInfo)
    {
        SortedList <IngredientsEnum, long> listIng = new SortedList <IngredientsEnum, long>();
        float         addRate   = 1;
        LevelTypeEnum menuLevel = GetMenuLevel();

        if (menuLevel == LevelTypeEnum.Init)
        {
            addRate = 10;
        }
        else if (menuLevel == LevelTypeEnum.Star)
        {
            addRate = 100;
        }
        else if (menuLevel == LevelTypeEnum.Moon)
        {
            addRate = 1000;
        }
        if (menuInfo.ing_oilsalt != 0)
        {
            listIng.Add(IngredientsEnum.Oilsalt, (long)(menuInfo.ing_oilsalt * addRate));
        }
        if (menuInfo.ing_meat != 0)
        {
            listIng.Add(IngredientsEnum.Meat, (long)(menuInfo.ing_meat * addRate));
        }
        if (menuInfo.ing_riverfresh != 0)
        {
            listIng.Add(IngredientsEnum.Riverfresh, (long)(menuInfo.ing_riverfresh * addRate));
        }
        if (menuInfo.ing_seafood != 0)
        {
            listIng.Add(IngredientsEnum.Seafood, (long)(menuInfo.ing_seafood * addRate));
        }
        if (menuInfo.ing_vegetables != 0)
        {
            listIng.Add(IngredientsEnum.Vegetables, (long)(menuInfo.ing_vegetables * addRate));
        }
        if (menuInfo.ing_melonfruit != 0)
        {
            listIng.Add(IngredientsEnum.Melonfruit, (long)(menuInfo.ing_melonfruit * addRate));
        }
        if (menuInfo.ing_waterwine != 0)
        {
            listIng.Add(IngredientsEnum.Waterwine, (long)(menuInfo.ing_waterwine * addRate));
        }
        if (menuInfo.ing_flour != 0)
        {
            listIng.Add(IngredientsEnum.Flour, (long)(menuInfo.ing_flour * addRate));
        }
        return(listIng);
    }
Пример #12
0
    /// <summary>
    /// 通过等级获取菜品数量
    /// </summary>
    /// <param name="level"></param>
    /// <returns></returns>
    public int GetMenuNumberByLevel(LevelTypeEnum menuLevel)
    {
        int number = 0;

        foreach (MenuOwnBean itemMenu in listMenu)
        {
            if (itemMenu.GetMenuLevel() >= menuLevel)
            {
                number++;
            }
        }
        return(number);
    }
Пример #13
0
    /// <summary>
    /// 通过等级获取床单数量
    /// </summary>
    /// <param name="levelType"></param>
    /// <returns></returns>
    public int GetBedNumberByLevel(LevelTypeEnum levelType)
    {
        int number = 0;

        foreach (BuildBedBean itemBed in listBed)
        {
            if (itemBed.GetBedLevel() >= levelType)
            {
                number++;
            }
        }
        return(number);
    }
Пример #14
0
    /// <summary>
    /// 检测是否能研究
    /// </summary>
    /// <returns></returns>
    public bool CheckCanResearch(GameDataBean gameData, out string failStr)
    {
        failStr = "";
        string        levelStr = gameData.GetInnAttributesData().GetInnLevel(out int levelTitle, out int levelStart);
        LevelTypeEnum bedLevel = GetBedLevel();

        if (bedLevel == LevelTypeEnum.Init)
        {
            if (levelTitle <= 0)
            {
                failStr = string.Format(TextHandler.Instance.manager.GetTextById(1072), gameData.GetInnAttributesData().GetInnLevelStr(1, 1));
                return(false);
            }
        }
        else if (bedLevel == LevelTypeEnum.Star)
        {
            if (levelTitle <= 1)
            {
                failStr = string.Format(TextHandler.Instance.manager.GetTextById(1072), gameData.GetInnAttributesData().GetInnLevelStr(2, 1));
                return(false);
            }
        }
        else if (bedLevel == LevelTypeEnum.Moon)
        {
            if (levelTitle <= 2)
            {
                failStr = string.Format(TextHandler.Instance.manager.GetTextById(1072), gameData.GetInnAttributesData().GetInnLevelStr(3, 1));
                return(false);
            }
        }
        else if (bedLevel == LevelTypeEnum.Sun)
        {
            failStr = TextHandler.Instance.manager.GetTextById(1073);
            return(false);
        }

        //判断是否有足够的研究经费
        GetResearchPrice(out long researchPriceL, out long researchPriceM, out long researchPriceS);
        if (!gameData.HasEnoughMoney(researchPriceL, researchPriceM, researchPriceS))
        {
            failStr = TextHandler.Instance.manager.GetTextById(1005);
            return(false);
        }

        return(true);
    }
Пример #15
0
    public int GetBedLevelUpExp(LevelTypeEnum level)
    {
        int levelExp = 0;

        if (level == LevelTypeEnum.Init)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelUpExp1, out levelExp);
        }
        else if (level == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelUpExp2, out levelExp);
        }
        else if (level == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelUpExp3, out levelExp);
        }
        return(levelExp);
    }
Пример #16
0
    public int GetMenuLevelUpExp(LevelTypeEnum menuLevel)
    {
        int levelExp = 0;

        if (menuLevel == LevelTypeEnum.Init)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.MenuForLevelUpExp1, out levelExp);
        }
        else if (menuLevel == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.MenuForLevelUpExp2, out levelExp);
        }
        else if (menuLevel == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.MenuForLevelUpExp3, out levelExp);
        }
        MenuInfoBean menuInfo = InnFoodHandler.Instance.manager.GetFoodDataById(menuId);

        //不同稀有度经验不同
        if (menuInfo.rarity == 0)
        {
            levelExp = levelExp * 1;
        }
        else if (menuInfo.rarity == 1)
        {
            levelExp = levelExp * 3;
        }
        else if (menuInfo.rarity == 2)
        {
            levelExp = levelExp * 5;
        }
        else if (menuInfo.rarity == 3)
        {
            levelExp = levelExp * 10;
        }
        else if (menuInfo.rarity == 4)
        {
            levelExp = levelExp * 20;
        }
        return(levelExp);
    }
Пример #17
0
    public static Sprite GetLevelIcon(LevelTypeEnum level)
    {
        Sprite spIcon = null;

        if (level == LevelTypeEnum.Init)
        {
        }
        else if (level == LevelTypeEnum.Star)
        {
            spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName("reputation_level_1_1");
        }
        else if (level == LevelTypeEnum.Moon)
        {
            spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName("reputation_level_2_1");
        }
        else if (level == LevelTypeEnum.Sun)
        {
            spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName("reputation_level_3_1");
        }
        return(spIcon);
    }
Пример #18
0
    /// <summary>
    /// 增加经验
    /// </summary>
    /// <param name="exp"></param>
    public void AddLevelExp(int exp, out bool isLevelUp)
    {
        bedExp   += exp;
        isLevelUp = false;
        LevelTypeEnum bedLevel = GetBedLevel();
        int           levelExp = GetBedLevelUpExp(bedLevel);

        if (levelExp == 0)
        {
            bedExp = 0;
        }
        else if (bedExp >= levelExp)
        {
            bedExp = levelExp;
            if (bedStatus == (int)ResearchStatusEnum.Normal)
            {
                bedStatus = (int)ResearchStatusEnum.WaitForResearch;
                isLevelUp = true;
            }
        }
    }
Пример #19
0
    /// <summary>
    /// 获取研究价格
    /// </summary>
    /// <param name="researchPriceL"></param>
    /// <param name="researchPriceM"></param>
    /// <param name="researchPriceS"></param>
    public void GetResearchPrice(out long researchPriceL, out long researchPriceM, out long researchPriceS)
    {
        string        researchPrice = "0,0,0";
        LevelTypeEnum bedLevel      = GetBedLevel();

        if (bedLevel == LevelTypeEnum.Init)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForResearchPrice1, out researchPrice);
        }
        else if (bedLevel == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForResearchPrice2, out researchPrice);
        }
        else if (bedLevel == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForResearchPrice3, out researchPrice);
        }
        long[] priceList = StringUtil.SplitBySubstringForArrayLong(researchPrice, ',');
        researchPriceL = priceList[0];
        researchPriceM = priceList[1];
        researchPriceS = priceList[2];
    }
Пример #20
0
    /// <summary>
    /// 获取研究进度
    /// </summary>
    /// <returns></returns>
    public float GetResearchProgress(out long completeResearchExp, out long researchExp)
    {
        completeResearchExp = 0;
        LevelTypeEnum bedLevel = GetBedLevel();

        if (bedLevel == LevelTypeEnum.Init)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelResearchExp1, out completeResearchExp);
        }
        else if (bedLevel == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelResearchExp2, out completeResearchExp);
        }
        else if (bedLevel == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForLevelResearchExp3, out completeResearchExp);
        }
        researchExp = this.researchExp;
        float progress = (float)researchExp / completeResearchExp;

        return((float)Math.Round(progress, 4));
    }
Пример #21
0
    public float GetPriceAddRate()
    {
        float         addRate  = 1;
        LevelTypeEnum bedLevel = GetBedLevel();

        if (bedLevel == LevelTypeEnum.Init)
        {
            addRate = 1;
        }
        else if (bedLevel == LevelTypeEnum.Star)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForPriceAddRate1, out addRate);
        }
        else if (bedLevel == LevelTypeEnum.Moon)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForPriceAddRate2, out addRate);
        }
        else if (bedLevel == LevelTypeEnum.Sun)
        {
            GameCommonInfo.baseDataController.GetBaseData(BaseDataTypeEnum.BedForPriceAddRate3, out addRate);
        }
        return(addRate);
    }
Пример #22
0
    /// <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;
        }
    }
Пример #23
0
    /// <summary>
    /// 检测是否能研究
    /// </summary>
    /// <returns></returns>
    public bool CheckCanResearch(GameDataBean gameData, out string failStr)
    {
        failStr = "";
        string        levelStr  = gameData.GetInnAttributesData().GetInnLevel(out int levelTitle, out int levelStart);
        LevelTypeEnum menuLevel = GetMenuLevel();

        if (menuLevel == LevelTypeEnum.Init)
        {
            if (levelTitle <= 0)
            {
                failStr = string.Format(TextHandler.Instance.manager.GetTextById(1072), gameData.GetInnAttributesData().GetInnLevelStr(1, 1));
                return(false);
            }
        }
        else if (menuLevel == LevelTypeEnum.Star)
        {
            if (levelTitle <= 1)
            {
                failStr = string.Format(TextHandler.Instance.manager.GetTextById(1072), gameData.GetInnAttributesData().GetInnLevelStr(2, 1));
                return(false);
            }
        }
        else if (menuLevel == LevelTypeEnum.Moon)
        {
            if (levelTitle <= 2)
            {
                failStr = string.Format(TextHandler.Instance.manager.GetTextById(1072), gameData.GetInnAttributesData().GetInnLevelStr(3, 1));
                return(false);
            }
        }
        else if (menuLevel == LevelTypeEnum.Sun)
        {
            failStr = TextHandler.Instance.manager.GetTextById(1073);
            return(false);
        }
        return(true);
    }
 private static int GetLevelDepth(Hierarchy oHierarchy, LevelTypeEnum LevelType)
 {
     foreach (Level oLevel in oHierarchy.Levels)
     {
         if (oLevel.LevelType == LevelType)
         {
             return oLevel.LevelNumber;
         }
     }
     throw new Exception("Could not find a level of type " + LevelType.ToString() + ". If you are looking for this level in a Fiscal hierarchy, the code will need to change to use AMO so it can see all the types of levels, not just the level types that AdomdServer exposes.");
 }
Пример #25
0
 public StaticLevelData(string key, Point mapPosition, LevelTypeEnum levelType)
 {
     this.key         = key;
     this.mapPosition = mapPosition;
     this.levelType   = levelType;
 }