Esempio n. 1
0
    /// <summary>
    /// 删除数据
    /// </summary>
    /// <param name="type"></param>
    /// <param name="miniGameData"></param>
    public void RemoveArenaDataByType(TrophyTypeEnum type, MiniGameBaseBean miniGameData)
    {
        switch (type)
        {
        case TrophyTypeEnum.Elementary:
            if (listArenaDataForElementary != null)
            {
                listArenaDataForElementary.Remove(miniGameData);
            }
            break;

        case TrophyTypeEnum.Intermediate:
            if (listArenaDataForIntermediate != null)
            {
                listArenaDataForIntermediate.Remove(miniGameData);
            }
            break;

        case TrophyTypeEnum.Advanced:
            if (listArenaDataForAdvanced != null)
            {
                listArenaDataForAdvanced.Remove(miniGameData);
            }
            break;

        case TrophyTypeEnum.Legendary:
            if (listArenaDataForLegendary != null)
            {
                listArenaDataForLegendary.Remove(miniGameData);
            }
            break;
        }
    }
Esempio n. 2
0
 /// <summary>
 /// 初始化游戏数据
 /// </summary>
 /// <param name="type"></param>
 public void InitData(TrophyTypeEnum type)
 {
     CptUtil.RemoveChildsByActive(objArenaContainer);
     List<MiniGameBaseBean> listMiniGameData = GameCommonInfo.DailyLimitData.GetArenaDataByType(type);
     if (listMiniGameData == null)
     {
         listMiniGameData = CreateMiniGameData(type);
         GameCommonInfo.DailyLimitData.AddArenaDataByType(type, listMiniGameData);
     }
     bool hasData = false;
     for (int i = 0; i < listMiniGameData.Count; i++)
     {
         MiniGameBaseBean itemMiniGameData = listMiniGameData[i];
         GameObject objItem = Instantiate(objArenaContainer, objArenaModel);
         ItemTownArenaCpt arenaItem = objItem.GetComponent<ItemTownArenaCpt>();
         arenaItem.SetData(type, itemMiniGameData);
         //GameUtil.RefreshRectViewHight((RectTransform)objItem.transform, true);
         objItem.transform.DOScale(new Vector3(0, 0, 0), 0.5f).From().SetEase(Ease.OutBack);
         hasData = true;
     }
     if (hasData)
         tvNull.gameObject.SetActive(false);
     else
         tvNull.gameObject.SetActive(true);
     GameUtil.RefreshRectViewHight((RectTransform)objArenaContainer.transform, true);
     scrollRectContainer.content.localPosition = Vector2.zero;
 }
Esempio n. 3
0
    public void InitDataForType(MiniGameEnum gameType, TrophyTypeEnum trophyType, MiniGameBaseBean miniGameData)
    {
        this.gameType     = gameType;
        this.miniGameData = miniGameData;
        this.trophyType   = trophyType;
        SetTitle(miniGameData);
        SetReward(miniGameData.listReward);
        SetPrice(miniGameData.preMoneyL, miniGameData.preMoneyM, miniGameData.preMoneyS);
        SetRuleContent(miniGameData.GetListWinConditions());
        SetGameTime(miniGameData.preGameTime);
        switch (gameType)
        {
        case MiniGameEnum.Cooking:
            break;

        case MiniGameEnum.Barrage:
            break;

        case MiniGameEnum.Account:
            break;

        case MiniGameEnum.Debate:
            break;

        case MiniGameEnum.Combat:
            break;
        }
        GameUtil.RefreshRectViewHight((RectTransform)transform, true);
    }
Esempio n. 4
0
    /// <summary>
    /// 拥有奖杯
    /// </summary>
    /// <param name="trophyType"></param>
    /// <param name="number"></param>
    public void AddItemForOwnTrophy(TrophyTypeEnum trophyType, long number)
    {
        string iconKey    = "";
        string contentStr = "";

        switch (trophyType)
        {
        case TrophyTypeEnum.Elementary:
            iconKey    = "trophy_1_0";
            contentStr = TextHandler.Instance.manager.GetTextById(307);
            break;

        case TrophyTypeEnum.Intermediate:
            iconKey    = "trophy_1_1";
            contentStr = TextHandler.Instance.manager.GetTextById(308);
            break;

        case TrophyTypeEnum.Advanced:
            iconKey    = "trophy_1_2";
            contentStr = TextHandler.Instance.manager.GetTextById(309);
            break;

        case TrophyTypeEnum.Legendary:
            iconKey    = "trophy_1_3";
            contentStr = TextHandler.Instance.manager.GetTextById(310);
            break;
        }
        Sprite spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName(iconKey);

        CreateTextItem(spIcon, contentStr, number + "");
    }
Esempio n. 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;
 }
Esempio n. 6
0
    /// <summary>
    /// 获取竞技场数据
    /// </summary>
    /// <param name="type"></param>
    /// <returns></returns>
    public List <MiniGameBaseBean> GetArenaDataByType(TrophyTypeEnum type)
    {
        switch (type)
        {
        case TrophyTypeEnum.Elementary:
            return(listArenaDataForElementary);

        case TrophyTypeEnum.Intermediate:
            return(listArenaDataForIntermediate);

        case TrophyTypeEnum.Advanced:
            return(listArenaDataForAdvanced);

        case TrophyTypeEnum.Legendary:
            return(listArenaDataForLegendary);
        }
        return(null);
    }
Esempio n. 7
0
    /// <summary>
    /// 增加竞技场数据
    /// </summary>
    /// <param name="type"></param>
    /// <param name="listMiniGameData"></param>
    public void AddArenaDataByType(TrophyTypeEnum type, List <MiniGameBaseBean> listMiniGameData)
    {
        switch (type)
        {
        case TrophyTypeEnum.Elementary:
            if (listArenaDataForElementary == null)
            {
                listArenaDataForElementary = new List <MiniGameBaseBean>();
            }
            listArenaDataForElementary.AddRange(listMiniGameData);
            break;

        case TrophyTypeEnum.Intermediate:
            if (listArenaDataForIntermediate == null)
            {
                listArenaDataForIntermediate = new List <MiniGameBaseBean>();
            }
            listArenaDataForIntermediate.AddRange(listMiniGameData);
            break;

        case TrophyTypeEnum.Advanced:
            if (listArenaDataForAdvanced == null)
            {
                listArenaDataForAdvanced = new List <MiniGameBaseBean>();
            }
            listArenaDataForAdvanced.AddRange(listMiniGameData);
            break;

        case TrophyTypeEnum.Legendary:
            if (listArenaDataForLegendary == null)
            {
                listArenaDataForLegendary = new List <MiniGameBaseBean>();
            }
            listArenaDataForLegendary.AddRange(listMiniGameData);
            break;
        }
    }
Esempio n. 8
0
    /// <summary>
    /// 创建迷你游戏数据
    /// </summary>
    /// <returns></returns>
    private List<MiniGameBaseBean> CreateMiniGameData(TrophyTypeEnum type)
    {
        List<MiniGameBaseBean> listMiniGameData = new List<MiniGameBaseBean>();
        int arenaNumber = UnityEngine.Random.Range(5, 15);
        for (int i = 0; i < arenaNumber; i++)
        {
            MiniGameEnum gameType = MiniGameEnumTools.GetRandomMiniGameTypeForArena();
            StoreInfoBean storeInfo = null;

            MiniGameBaseBean miniGameData = MiniGameEnumTools.GetMiniGameData(gameType);
            miniGameData.gameReason = MiniGameReasonEnum.Fight;
            switch (gameType)
            {
                case MiniGameEnum.Cooking:
                    storeInfo = GetStoreInfoByTypeAndWorker(type, WorkerEnum.Chef);
                    miniGameData = CreateCookingGameData((MiniGameCookingBean)miniGameData, storeInfo, type);
                    break;
                case MiniGameEnum.Barrage:
                    storeInfo = GetStoreInfoByTypeAndWorker(type, WorkerEnum.Waiter);
                    miniGameData = CreateBarrageGameData((MiniGameBarrageBean)miniGameData, storeInfo, type);
                    break;
                case MiniGameEnum.Account:
                    storeInfo = GetStoreInfoByTypeAndWorker(type, WorkerEnum.Accountant);
                    miniGameData = CreateAccountGameData((MiniGameAccountBean)miniGameData, storeInfo, type);
                    break;
                case MiniGameEnum.Debate:
                    storeInfo = GetStoreInfoByTypeAndWorker(type, WorkerEnum.Accost);
                    miniGameData = CreateDebateGameData((MiniGameDebateBean)miniGameData, storeInfo, type);
                    break;
                case MiniGameEnum.Combat:
                    storeInfo = GetStoreInfoByTypeAndWorker(type, WorkerEnum.Beater);
                    miniGameData = CreateCombatGameData((MiniGameCombatBean)miniGameData, storeInfo, type);
                    break;
            }
            PreTypeForMiniGameEnumTools.GetMiniGameData(miniGameData, storeInfo.pre_data_minigame);
            //奖励添加
            miniGameData.listReward = new List<RewardTypeBean>();
            List<RewardTypeBean> listReward = RewardTypeEnumTools.GetListRewardData(storeInfo.reward_data);
            //固定奖励
            List<RewardTypeBean> listFixedReward = new List<RewardTypeBean>();
            //随机奖励
            List<RewardTypeBean> listRandomReward = new List<RewardTypeBean>();
            foreach (RewardTypeBean itemReward in listReward)
            {
                switch (itemReward.GetRewardType())
                {
                    case RewardTypeEnum.AddMoneyL:
                    case RewardTypeEnum.AddMoneyM:
                    case RewardTypeEnum.AddMoneyS:
                    case RewardTypeEnum.AddArenaTrophyElementary:
                    case RewardTypeEnum.AddArenaTrophyIntermediate:
                    case RewardTypeEnum.AddArenaTrophyAdvanced:
                    case RewardTypeEnum.AddArenaTrophyLegendary:
                        if (miniGameData.winBringDownNumber > 0)
                        {
                            //针对多人战 奖励提升
                            itemReward.data = long.Parse(itemReward.data) * miniGameData.winBringDownNumber + "";
                        }
                        listFixedReward.Add(itemReward);
                        break;
                    default:
                        listRandomReward.Add(itemReward);
                        break;
                }
            }
            miniGameData.listReward.AddRange(listFixedReward);
            if (!CheckUtil.ListIsNull(listRandomReward))
            {
                RewardTypeBean randomReward = RandomUtil.GetRandomDataByList(listRandomReward);
                miniGameData.listReward.Add(randomReward);
            }

            //添加对应的奖杯
            switch (type)
            {
                case TrophyTypeEnum.Elementary:
                    break;
                case TrophyTypeEnum.Intermediate:
                    break;
                case TrophyTypeEnum.Advanced:
                    break;
                case TrophyTypeEnum.Legendary:
                    break;
            }
            //设置游戏时间
            if (storeInfo.mark != null)
                miniGameData.preGameTime = int.Parse(storeInfo.mark);
            //设置前置金钱
            miniGameData.preMoneyL = storeInfo.price_l;
            miniGameData.preMoneyM = storeInfo.price_m;
            miniGameData.preMoneyS = storeInfo.price_s;
            //添加游戏数据
            listMiniGameData.Add(miniGameData);
        }
        return listMiniGameData;
    }
Esempio n. 9
0
 public void RadioButtonSelected(RadioGroupView rgView, int position, RadioButtonView rbview)
 {
     this.selectTypePosition = position;
     TrophyTypeEnum trophyType = EnumUtil.GetEnum<TrophyTypeEnum>(rbview.name);
     InitData(trophyType);
 }
Esempio n. 10
0
 /// <summary>
 /// 创建战斗游戏数据
 /// </summary>
 /// <param name="miniGameData"></param>
 /// <param name="storeInfo"></param>
 /// <returns></returns>
 private MiniGameCombatBean CreateCombatGameData(MiniGameCombatBean miniGameData, StoreInfoBean storeInfo, TrophyTypeEnum type)
 {
     int enemyBaseAttribute = 10;
     int enemyBaseLife = 100;
     int equipLevel = 0;
     switch (type)
     {
         case TrophyTypeEnum.Elementary:
             enemyBaseLife = 100;
             enemyBaseAttribute = 10;
             equipLevel = 0;
             break;
         case TrophyTypeEnum.Intermediate:
             enemyBaseLife = 200;
             enemyBaseAttribute = 30;
             equipLevel = 1;
             break;
         case TrophyTypeEnum.Advanced:
             enemyBaseLife = 300;
             enemyBaseAttribute = 50;
             equipLevel = 2;
             break;
         case TrophyTypeEnum.Legendary:
             enemyBaseLife = 500;
             enemyBaseAttribute = 80;
             equipLevel = 3;
             break;
     }
     miniGameData.winBringDownNumber = UnityEngine.Random.Range(1, 6);
     //生成敌人
     List<CharacterBean> listEnemyData = new List<CharacterBean>();
     for (int i = 0; i < miniGameData.winBringDownNumber; i++)
     {
         CharacterBean enemyData = CharacterBean.CreateRandomEnemyData(enemyBaseLife, enemyBaseAttribute, equipLevel);
         listEnemyData.Add(enemyData);
     }
     miniGameData.InitData(new List<CharacterBean>(), listEnemyData);
     return miniGameData;
 }
Esempio n. 11
0
 /// <summary>
 /// 创建斗魅游戏数据
 /// </summary>
 /// <param name="miniGameData"></param>
 /// <param name="storeInfo"></param>
 /// <returns></returns>
 private MiniGameDebateBean CreateDebateGameData(MiniGameDebateBean miniGameData, StoreInfoBean storeInfo, TrophyTypeEnum type)
 {
     CharacterBean randomEnemy = null;
     switch (type)
     {
         case TrophyTypeEnum.Elementary:
             randomEnemy = CharacterBean.CreateRandomEnemyData(100, 10, 0);
             break;
         case TrophyTypeEnum.Intermediate:
             randomEnemy = CharacterBean.CreateRandomEnemyData(200, 30, 1);
             break;
         case TrophyTypeEnum.Advanced:
             randomEnemy = CharacterBean.CreateRandomEnemyData(300, 50, 2);
             break;
         case TrophyTypeEnum.Legendary:
             randomEnemy = CharacterBean.CreateRandomEnemyData(500, 80, 3);
             break;
     }
     miniGameData.InitData(null, randomEnemy);
     return miniGameData;
 }
Esempio n. 12
0
 /// <summary>
 /// 创建算账游戏数据
 /// </summary>
 /// <param name="miniGameData"></param>
 /// <param name="storeInfo"></param>
 /// <returns></returns>
 private MiniGameAccountBean CreateAccountGameData(MiniGameAccountBean miniGameData, StoreInfoBean storeInfo, TrophyTypeEnum type)
 {
     switch (type)
     {
         case TrophyTypeEnum.Elementary:
             break;
         case TrophyTypeEnum.Intermediate:
             break;
         case TrophyTypeEnum.Advanced:
             break;
         case TrophyTypeEnum.Legendary:
             break;
     }
     return miniGameData;
 }
Esempio n. 13
0
 /// <summary>
 /// 创建烹饪游戏数据
 /// </summary>
 /// <param name="miniGameData"></param>
 /// <param name="storeInfo"></param>
 /// <returns></returns>
 private MiniGameCookingBean CreateCookingGameData(MiniGameCookingBean miniGameData, StoreInfoBean storeInfo, TrophyTypeEnum type)
 {
     switch (type)
     {
         case TrophyTypeEnum.Elementary:
             break;
         case TrophyTypeEnum.Intermediate:
             break;
         case TrophyTypeEnum.Advanced:
             break;
         case TrophyTypeEnum.Legendary:
             break;
     }
     //随机生成敌人
     List<CharacterBean> listEnemyData = new List<CharacterBean>();
     for (int i = 0; i < 15; i++)
     {
         CharacterBean randomEnemy = CharacterBean.CreateRandomWorkerData();
         listEnemyData.Add(randomEnemy);
     }
     //评审人员
     List<CharacterBean> listTownNpc = NpcInfoHandler.Instance.manager.GetCharacterDataByType(NpcTypeEnum.Town);
     PreTypeForMiniGameEnumTools.GetAllCharacter(storeInfo.pre_data_minigame, out string allCharacterIds);
     for (int i = 0; i < listTownNpc.Count; i++)
     {
         CharacterBean itemNpc = listTownNpc[i];
         if (allCharacterIds.Contains(itemNpc.baseInfo.characterId))
         {
             listTownNpc.Remove(itemNpc);
             i--;
         }
     }
     List<CharacterBean> listAuditerData = RandomUtil.GetRandomDataByListForNumberNR(listTownNpc, 5);
     miniGameData.InitData(null, listEnemyData, listAuditerData, null);
     return miniGameData;
 }
Esempio n. 14
0
 public void SetData(TrophyTypeEnum trophyType, MiniGameBaseBean miniGameData)
 {
     InitDataForType(miniGameData.gameType, trophyType, miniGameData);
 }