Ejemplo n.º 1
0
        public override bool TakeAction()
        {
            PlayerHeroLogic playerHero = new PlayerHeroLogic();

            playerHero.SetUser(m_UserId).SetHero(m_RequestPacket.HeroType);
            if (!playerHero.DataCheck())
            {
                ErrorCode = (int)ErrorType.RequireNotMet;
                ErrorInfo = "wrong HeroId";
                return(false);
            }
            if (playerHero.GetHeroInfo().HeroStarLevel < GameConsts.Hero.MaxStarLevel)
            {
                ErrorCode = (int)ErrorType.RequireNotMet;
                ErrorInfo = "Star level not enough";
                return(false);
            }
            Hero myHero = playerHero.GetHeroInfo();
            DTHeroConsciousnessBase heroConsciousness = CacheSet.HeroConsciousnessBaseTable.GetData(myHero.ConsciousnessLevel);

            if (heroConsciousness.LevelUpItemId == -1)
            {
                ErrorCode = (int)ErrorType.RequireNotMet;
                ErrorInfo = "reached max level";
                return(false);
            }
            PlayerLogic p = new PlayerLogic();

            p.SetUser(m_UserId);
            if (!p.DeductSpirit(heroConsciousness.LevelUpItemCount))
            {
                ErrorCode = (int)ErrorType.RequireNotMet;
                ErrorInfo = "Spirit not enough";
                return(false);
            }
            playerHero.ConsciousnessLevelUp();
            myHero = playerHero.GetHeroInfo();
            m_ResponsePacket.LobbyHeroInfo = new PBLobbyHeroInfo()
            {
                Type = myHero.HeroType,
                ConsciousnessLevel = myHero.ConsciousnessLevel,
                Might = myHero.Might,
            };
            m_ResponsePacket.PlayerInfo = new PBPlayerInfo()
            {
                Id = p.MyPlayer.Id, Spirit = p.MyPlayer.Spirit
            };
            return(true);
        }
Ejemplo n.º 2
0
        public bool PurchaseItem(int index, int type, int count)
        {
            var itemData = m_Shop.ShopItems[index];

            if (itemData.ItemType != type || itemData.ItemCount != count || itemData.PurchasedTimes >= 1)
            {
                return(false);
            }
            PlayerLogic player = new PlayerLogic();

            player.SetUser(m_UserId);
            switch ((GiftItemType)itemData.CurrencyType)
            {
            case GiftItemType.Money:
                if (!player.DeductMoney(itemData.OriginalPrice))
                {
                    return(false);
                }
                break;

            case GiftItemType.Coin:
                if (!player.DeductCoin(itemData.OriginalPrice))
                {
                    return(false);
                }
                break;

            case GiftItemType.Spirit:
                if (!player.DeductSpirit(itemData.OriginalPrice))
                {
                    return(false);
                }
                break;

            default:
                break;
            }
            m_Shop.ShopItems[index].PurchasedTimes += 1;
            return(true);
        }