public override bool TakeAction() { UserBasisCache dest = UserHelper.FindUserBasis(Uid); if (dest == null) { return(true); } FriendApplyData apply = GetFriends.FindFriendApply(Uid); if (apply == null) { return(true); } receipt = new JPFriendApplyData(); receipt.UserId = Uid; receipt.NickName = dest.NickName; receipt.Profession = dest.Profession; receipt.AvatarUrl = dest.AvatarUrl; receipt.UserLv = dest.UserLv; //receipt.FightValue = dest.FightingValue; receipt.VipLv = dest.VipLv; receipt.ApplyTime = apply.ApplyDate; GameSession fsession = GameSession.Get(dest.UserID); receipt.IsOnline = fsession != null && fsession.Connected; return(true); }
public WebSocketApi(string uri) { _client = new Client(uri); _login = new Login(_client); _changePwd = new ChangePwd(_client); _forgotPwd = new ForgotPwd(_client); _resetPwd = new ResetPwd(_client); _validMail = new ValidMail(_client); _register = new Register(_client); _getFriends = new GetFriends(_client); _getPFriends = new GetPendingFriends(_client); _removeFriend = new RemoveFriend(_client); _addFriend = new AddFriend(_client); _confirmFriend = new ConfirmFriend(_client); }
public override bool TakeAction() { UserFriendsCache destFriends = UserHelper.FindUserFriends(destuid); if (GetFriends.IsHaveFriend(destuid)) { GetFriends.RemoveFriend(destuid); } if (destFriends.IsHaveFriend(Current.UserId)) { destFriends.RemoveFriend(Current.UserId); } PushMessageHelper.FriendRemoveNotification(GameSession.Get(destuid), Current.UserId); receipt = destuid; return(true); }
public WebSocketApi(string uri) { _client = new Client(uri); var dataExchange = new DataExchange(_client); _login = new Login(dataExchange); _changePwd = new ChangePwd(dataExchange); _forgotPwd = new ForgotPwd(dataExchange); _resetPwd = new ResetPwd(dataExchange); _validMail = new ValidMail(dataExchange); _register = new Register(dataExchange); _getFriends = new GetFriends(dataExchange); _getPFriends = new GetPendingFriends(dataExchange); _removeFriend = new RemoveFriend(dataExchange); _addFriend = new AddFriend(dataExchange); _confirmFriend = new ConfirmFriend(dataExchange); _logger = LoggerFactory.GetLogger(); }
public override bool TakeAction() { UserBasisCache dest = UserHelper.FindUserBasis(destuid); UserFriendsCache destFriends = UserHelper.FindUserFriends(destuid); FriendApplyData apply = GetFriends.FindFriendApply(destuid); if (apply == null) { receipt = RequestFriendResult.NoApply; return(true); } if (result == EventStatus.Good) { if (GetFriends.IsFriendNumFull()) { receipt = RequestFriendResult.FriendNumFull; } else if (GetFriends.IsHaveFriend(destuid)) { receipt = RequestFriendResult.HadFriend; } else if (destFriends.IsFriendNumFull()) { receipt = RequestFriendResult.DestFriendNumFull; } else { receipt = RequestFriendResult.OK; GetFriends.AddFriend(destuid); destFriends.AddFriend(Current.UserId); PushMessageHelper.NewFriendNotification(GameSession.Get(destuid), Current.UserId); PushMessageHelper.NewFriendNotification(Current, destuid); } } GetFriends.ApplyList.Remove(apply); return(true); }
public override bool TakeAction() { UserBasisCache dest = UserHelper.FindUserBasis(destuid); UserFriendsCache destFriends = UserHelper.FindUserFriends(destuid); if (GetFriends.IsFriendNumFull()) { receipt = RequestFriendResult.FriendNumFull; } else if (destFriends.IsFriendNumFull()) { receipt = RequestFriendResult.DestFriendNumFull; } else if (GetFriends.IsHaveFriend(destuid)) { receipt = RequestFriendResult.HadFriend; } else if (destFriends.IsHaveFriendApply(Current.UserId)) { receipt = RequestFriendResult.HadApply; } else { receipt = RequestFriendResult.OK; destFriends.AddFriendApply(Current.UserId); var session = GameSession.Get(destuid); PushMessageHelper.NewFriendRequestNotification(GameSession.Get(destuid), Current.UserId); //GetFriends.AddFriend(destuid); //destFriends.AddFriend(Current.UserId); //PushMessageHelper.NewFriendNotification(GameSession.Get(destuid), Current.UserId); //PushMessageHelper.NewFriendNotification(Current, destuid); } return(true); }
public override bool TakeAction() { receipt = new RobData(); receipt.Rob = GetLottery.Rob; var rob = UserHelper.FindUserBasis(GetLottery.Rob.RivalUid); receipt.Rob.RivalLevel = rob.UserLv; var lotterycfg = new ShareCacheStruct <Config_Lottery>().Find(t => (t.Type == LotteryAwardType.Rob)); if (lotterycfg == null) { return(false); } receipt.TodayRobList = GetFriends.TodayRobList.ToList(); foreach (var v in GetFriends.FriendsList) { JPFriendRobData friendrob = new JPFriendRobData() { UserId = v.UserId, }; if (v.RobGold.Equals("0")) { var enemy = GetEnemys.FindEnemy(v.UserId); if (enemy != null && !enemy.RobGold.Equals("0")) { v.RobGold = enemy.RobGold; continue; } var rival = UserHelper.FindUserBasis(v.UserId); int baseValue = lotterycfg.Content.ToInt(); int goldMin = baseValue / 4; int goldmax = random.Next(baseValue - goldMin) + goldMin; BigInteger targetGold = Math.Ceiling(rival.UserLv / 50.0).ToInt() * goldmax; v.RobGold = targetGold.ToString(); } friendrob.Gold = v.RobGold; receipt.FriendRobList.Add(friendrob); } foreach (var v in GetEnemys.EnemyList) { JPEnemyRobData enemyrob = new JPEnemyRobData() { UserId = v.UserId, }; if (v.RobGold.Equals("0")) { var friend = GetFriends.FindFriend(v.UserId); if (friend != null && !friend.RobGold.Equals("0")) { v.RobGold = friend.RobGold; continue; } var rival = UserHelper.FindUserBasis(v.UserId); int baseValue = lotterycfg.Content.ToInt(); int goldMin = baseValue / 4; int goldmax = random.Next(baseValue - goldMin) + goldMin; BigInteger targetGold = Math.Ceiling(rival.UserLv / 50.0).ToInt() * goldmax; v.RobGold = targetGold.ToString(); } enemyrob.Gold = v.RobGold; receipt.EnemyRobList.Add(enemyrob); } return(true); }
public Task Start(int playerIndex) { return(Task.Run(async() => { var httpClientMain = new HttpClient(); var reqLogin = new Login(); reqLogin.request.account = $"LoadTester{playerIndex}@BNO"; //reqLogin.request.password = ""; var resLogin = await reqLogin.PostAsyncXXX(Global.ApiServerUri); if (resLogin.StatusCode != System.Net.HttpStatusCode.OK || string.IsNullOrEmpty(resLogin.Payload.token)) { Console.WriteLine(playerIndex + " : Login Error"); return; } Console.WriteLine(playerIndex + " : Login"); if (resLogin.Payload.initialLevel == 0) { var reqSetFirstOnetime = new SetFirstOnetime(); reqSetFirstOnetime.request.playerName = $"LoadTester{playerIndex}"; var resSetFirstOnetime = await reqSetFirstOnetime.PostAsyncXXX(Global.ApiServerUri, resLogin.Payload.token); } var keep = true; var b = Task.Run(async() => { var httpClient = new HttpClient(); while (true) { var reqHandShake = new HandShack(); var resHandShake = await reqHandShake.PostAsyncXXX(Global.ApiServerUri, resLogin.Payload.token); //Console.WriteLine(reqLogin.request.password + ":PushCode=\"" + resHandShake.pushCode + "\""); //Console.WriteLine(resHandShake.pushCode); if (resHandShake.StatusCode != System.Net.HttpStatusCode.OK || resHandShake.Payload.pushCode == new evoapi.ProtocolModels.HandShake.Close.Response().pushCode || resHandShake.Payload.pushCode == new evoapi.ProtocolModels.HandShake.Unauthorized.Response().pushCode) { Console.WriteLine(playerIndex + ":" + resHandShake.Payload.pushCode); keep = false; break; } } }); var reqMasterDataGet = new MasterDataGet(); var resMasterDataGet = await reqMasterDataGet.PostAsyncXXX(Global.ApiServerUri, resLogin.Payload.token); var reqGetFriends = new GetFriends(); var resGetFriends = await reqGetFriends.PostAsyncXXX(Global.ApiServerUri, resLogin.Payload.token); //var reqEntryPlayer = new EntryPlayer(); //reqEntryPlayer.request.matchType = evolib.Battle.MatchType.Casual; //var resEntryPlayer = await reqEntryPlayer.PostAsync(httpClientMain, resLogin.token); while (keep) { await Task.Delay(1000); } })); }
public override bool TakeAction() { receipt = new RobReceipt(); receipt.Result = false; if (GetLottery.RobTimes <= 0) { return(true); } if (GetLottery.Rob.RivalUid != selectId && !GetEnemys.IsHaveEnemy(selectId) && !GetFriends.IsHaveFriend(selectId)) { return(true); } var rival = UserHelper.FindUserBasis(selectId); if (rival == null) { return(true); } var rivalEnemy = UserHelper.FindUserEnemy(rival.UserID); if (rivalEnemy == null) { return(true); } var lotterycfg = new ShareCacheStruct <Config_Lottery>().Find(t => (t.Type == LotteryAwardType.Rob)); if (lotterycfg == null) { return(false); } GetLottery.RobTimes--; BigInteger dummyGold = 0; if (GetLottery.Rob.RivalUid == selectId) { dummyGold = BigInteger.Parse(GetLottery.Rob.Gold); GetLottery.Rob.RivalUid = 0; GetLottery.Rob.RivalName = string.Empty; GetLottery.Rob.RivalAvatarUrl = string.Empty; GetLottery.Rob.Gold = "0"; UserHelper.RandomRobTarget(Current.UserId); } if (GetFriends.IsHaveFriend(selectId)) { var frienddata = GetFriends.FindFriend(selectId); dummyGold = BigInteger.Parse(frienddata.RobGold); frienddata.RobGold = "0"; GetFriends.AddRobRecord(selectId); } if (GetEnemys.IsHaveEnemy(selectId)) { var enemydata = GetEnemys.FindEnemy(selectId); dummyGold = BigInteger.Parse(enemydata.RobGold); GetEnemys.RemoveEnemy(rival.UserID); } if (result == EventStatus.Bad) { dummyGold = dummyGold / 5; } receipt.Gold = dummyGold.ToString(); UserHelper.RewardsGold(Current.UserId, dummyGold); BigInteger realGold = rival.GoldNum <= dummyGold * 2 ? rival.GoldNum / 2 : dummyGold; UserHelper.ConsumeGold(rival.UserID, realGold); int levelDown = 0; if (result == EventStatus.Good) { int downlv = rival.UserLv <= 1000 ? 10 : rival.UserLv / 100; levelDown = Math.Max(rival.UserLv - downlv, 0); levelDown = Math.Min(levelDown, downlv); //rival.UserLv = Math.Max(rival.UserLv - levelDown, 10); //UserHelper.UserLvChange(rival.UserID); //PushMessageHelper.UserLvChangeNotification(GameSession.Get(rival.UserID)); rival.BackLevelNum += downlv; } rivalEnemy.AddEnemy(new EnemyData() { UserId = Current.UserId }); EnemyLogData log = new EnemyLogData() { RivalUid = Current.UserId, RivalName = GetBasis.NickName, RivalAvatarUrl = GetBasis.AvatarUrl, LogTime = DateTime.Now, LossGold = realGold.ToString(), LevelDown = levelDown, IsSteal = false, Status = result, RivalProfession = GetBasis.Profession }; rivalEnemy.PushLog(log); PushMessageHelper.NewStealRobNotification(GameSession.Get(rival.UserID)); receipt.Lottery = GetLottery; receipt.Result = true; return(true); }