public override bool TakeAction() { PlayerFriendsLogic pf = new PlayerFriendsLogic(); pf.SetUser(m_UserId); if (!pf.ReceiveEnergy(m_RequestPacket.FriendPlayerId)) { ErrorCode = (int)ErrorType.CannotOpenChance; ErrorInfo = "you can not receive energy from this player"; return(false); } m_ResponsePacket.FriendPlayerId = m_RequestPacket.FriendPlayerId; PlayerLogic player = new PlayerLogic(); player.SetUser(m_UserId); long nextRecoverTime; player.AddEnergy(1, out nextRecoverTime); m_ResponsePacket.Me = new PBPlayerInfo() { Id = player.MyPlayer.Id, Energy = player.MyPlayer.Energy, NextEnergyRecoveryTime = nextRecoverTime }; m_ResponsePacket.RemainCount = GameConsts.Social.MaxReceiveCount - pf.MyFriends.ReceiveCount; return(true); }
private void ProcessEffect2(int count, string funcParams) { int totalAddEnergy = count * int.Parse(funcParams); PlayerLogic player = new PlayerLogic().SetUser(1); long nextRecoverTime; player.AddEnergy(totalAddEnergy, out nextRecoverTime); }
private void GetInstanceReward(PlayerInstanceLogic instance) { int instanceId = instance.MyInstance.InstanceId; PlayerLogic player = new PlayerLogic(); player.SetUser(m_UserId); long nextRecoverTime; if (!m_RequestPacket.Win) { int feedbackEnergy = PlayerInstanceLogic.GetFeedBackEnergy(instanceId); player.AddEnergy(feedbackEnergy, out nextRecoverTime); m_ResponsePacket.PlayerInfo = new PBPlayerInfo(); m_ResponsePacket.PlayerInfo.Energy = player.MyPlayer.Energy; m_ResponsePacket.PlayerInfo.NextEnergyRecoveryTime = nextRecoverTime; return; } DTInstance instanceData = PlayerInstanceLogic.GetInstanceData(instanceId); player.MyPlayer.Coin += instanceData.Coin; player.AddExp(instanceData.PlayerExp); m_ResponsePacket.PlayerInfo = new PBPlayerInfo(); m_ResponsePacket.PlayerInfo.Id = player.MyPlayer.Id; m_ResponsePacket.PlayerInfo.Coin = player.MyPlayer.Coin; m_ResponsePacket.PlayerInfo.Exp = player.MyPlayer.Exp; m_ResponsePacket.PlayerInfo.Level = player.MyPlayer.Level; HeroTeamLogic heroTeam = new HeroTeamLogic(); heroTeam.SetUser(m_UserId); PlayerHeroLogic playerHero = new PlayerHeroLogic(); playerHero.SetUser(m_UserId); foreach (int heroId in heroTeam.MyHeroTeam.Team) { if (heroId == 0) { continue; } playerHero.SetHero(heroId).AddExp(instanceData.HeroExp); m_ResponsePacket.LobbyHeroInfo.Add(new PBLobbyHeroInfo() { Type = heroId, Exp = playerHero.MyHeros.Heros[heroId].HeroExp, Level = playerHero.MyHeros.Heros[heroId].HeroLv, Might = playerHero.MyHeros.Heros[heroId].Might, }); } m_ResponsePacket.InstanceType = instance.MyInstance.InstanceId; CacheDictionary <int, int> dropDict = instance.GetDropList(); PlayerPackageLogic package = new PlayerPackageLogic(); package.SetUser(m_UserId); PBReceivedItems receivedItems; package.GetItems(dropDict, ReceiveItemMethodType.CompleteInstance, out receivedItems); m_ResponsePacket.ReceivedItems = receivedItems; }
private void AddEnergy(int energy) { PlayerLogic player = new PlayerLogic(); player.SetUser(m_UserId); long nextRecoverTime; player.AddEnergy(energy, out nextRecoverTime); m_ResponsePacket.PlayerInfo = new PBPlayerInfo() { Id = player.MyPlayer.Id, Energy = player.MyPlayer.Energy, NextEnergyRecoveryTime = nextRecoverTime }; }
private void GetPlayerReward(ItemListItem reward, PlayerLogic p) { long nextRecoverTime; switch ((GiftItemType)reward.Id) { case GiftItemType.Coin: p.AddCoin(reward.Count); break; case GiftItemType.Energy: p.AddEnergy(reward.Count, out nextRecoverTime); break; case GiftItemType.MeridianEnergy: p.AddStarEnergy(reward.Count); break; case GiftItemType.Money: p.AddMoney(reward.Count); break; } }
public void GetItems(IDictionary<int, int> gotItems, ReceiveItemMethodType method, out PBReceivedItems receivedItems) { GearLogic gear = new GearLogic(); SoulLogic soul = new SoulLogic(); Dictionary<int, int> itemDict = new Dictionary<int, int>(); receivedItems = new PBReceivedItems(); foreach (var reward in gotItems) { if (IsGear(reward.Key)) { for (int i = 0; i < reward.Value; i++) { int gearId = gear.AddNewGear(reward.Key, m_UserId, method); AddGear(gearId, reward.Key); receivedItems.GearInfo.Add(new PBGearInfo() { Id = gearId, Type = reward.Key, Level = 1 }); } } else if (IsItem(reward.Key)) { AddInventory(new ItemListItem() { Id = reward.Key, Count = reward.Value }); GameUtils.MergeItem(itemDict, reward.Key, reward.Value); } else if (IsSoul(reward.Key)) { for (int i = 0; i < reward.Value; i++) { int soulId = soul.AddNewSoul(reward.Key); AddSoul(soulId, reward.Key); receivedItems.SoulInfo.Add(new PBSoulInfo() { Id = soulId, Type = reward.Key }); } } else if (IsEpigraph(reward.Key)) { for (int i = 0; i < reward.Value; i++) { ItemListItem item; if (GetNewEpigraph(reward.Key, out item)) { receivedItems.EpigraphInfo.Add(new PBEpigraphInfo() { Type = reward.Key, Level = m_Package.Epigraphs[reward.Key] }); } else { GameUtils.MergeItem(itemDict, item.Id, item.Count); } } } else { PlayerLogic p = new PlayerLogic(); p.SetUser(m_UserId); switch ((GiftItemType)reward.Key) { case GiftItemType.Coin: p.AddCoin(reward.Value); break; case GiftItemType.Money: p.AddMoney(reward.Value); break; case GiftItemType.Energy: long nextRecoverTime; p.AddEnergy(reward.Value, out nextRecoverTime); break; case GiftItemType.MeridianEnergy: p.AddStarEnergy(reward.Value); break; case GiftItemType.Spirit: p.AddSpirit(reward.Value); break; case GiftItemType.DragonStripeToken: p.AddDragonStripeToken(reward.Value); break; } } } foreach (var item in itemDict) { receivedItems.ItemInfo.Add(new PBItemInfo() { Type = item.Key, Count = m_Package.Inventories[item.Key] }); } }