private void GameHandler_DailyCheckRequest(IResponer responer, PktDailyCheckRequest vo) { var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc); if (player == null) { return; } var pinfo = new CakeAvatar(player.psid); if (ApiDateTime.IsSameDay(pinfo.GetIntValue(ParamNameDefs.LastDailyCheckTime))) { return; } var count = pinfo.GetIntValue(ParamNameDefs.DailyCheckCount); var data = DailyCheckLoader.Instance.OnGetData(count + 1); if (data == null) { count = 1; data = DailyCheckLoader.Instance.OnGetData(count); } SCommonds.AddItem("dailycheck", player.psid, data.itemID, data.itemCount); pinfo.SetValue(ParamNameDefs.LastDailyCheckTime, ApiDateTime.SecondsFromBegin()); var pkt = new PktDailyCheckResult(); pkt.eResult = PktDailyCheckResult.EResult.Success; pkt.lItems.Add(new Int2() { int1 = data.itemID, int2 = data.itemCount }); responer.Response(pkt); }
public void OnAddAvatar(CakeAvatar avatar, Player player) { var avatarid = avatar.id; if (dPlayers.ContainsKey(avatarid)) { dPlayers[avatarid].OnDisconnect(); dPlayers.Remove(avatarid); } dPlayers.Add(avatarid, player); player.avatarCake = avatar; }
public static void DailyCheck(string psid) { var cake = new CakeAvatar(psid); if (ApiDateTime.IsSameDay(cake.GetIntValue(ParamNameDefs.LastDailyCheckTime))) { return; } var icount = cake.AddValue(ParamNameDefs.DailyCheckCount); var data = DailyCheckLoader.Instance.OnGetData(icount); if (data == null) { icount = 1; cake.SetValue(ParamNameDefs.DailyCheckCount, icount); data = DailyCheckLoader.Instance.OnGetData(icount); } }
private void GameHandler_EnterGame(IResponer responer, PktEnterGameRequest vo) { var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc); if (player == null) { return; } var res = new PktEnterGameResult(); var dbr = ADBManager.Get(InitValueDefs.dbconnect, InitValueDefs.dbname).FindOneData(ParamNameDefs.TableAvatar , ADBAccessor.filter_eq(ParamNameDefs.PartnerID, (int)player.ePartnerID) & ADBAccessor.filter_eq(ParamNameDefs.UnionID, player.unionid)); if (dbr != null) { var c = new CakeAvatar(dbr[ParamNameDefs.CollectionID].ToString()); APlayerManager.Instance.OnAddAvatar(c, player); res.info = c.ToPkt(); } responer.Response(res); }
private void GameHandler_CreateAvatar(IResponer responer, PktCreateAvatarRequest vo) { var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc); if (player == null) { return; } var res = new PktCreateAvatarResult(); { var dbr = ADBManager.Get(InitValueDefs.dbconnect, InitValueDefs.dbname).FindOneData(ParamNameDefs.TableAvatar , ADBAccessor.filter_eq(ParamNameDefs.AvatarName, vo.avatarName) | ADBAccessor.filter_eq(ParamNameDefs.UnionID, player.unionid) , ADBAccessor.projections(ParamNameDefs.AvatarLevel)); if (dbr != null) { res.eResult = PktCreateAvatarResult.EResult.SameName; responer.Response(res); return; } } { var dbr = ADBManager.Get(InitValueDefs.dbconnect, InitValueDefs.dbname).FindOneData(ParamNameDefs.TableAvatar , ADBAccessor.filter_eq(ParamNameDefs.UnionID, player.unionid), ADBAccessor.projections(ParamNameDefs.AvatarLevel)); if (dbr != null) { res.eResult = PktCreateAvatarResult.EResult.MaxCount; responer.Response(res); return; } } var psid = ObjectId.GenerateNewId().ToString(); var cake = new CakeAvatar(psid); cake.Create(player.unionid, player.ePartnerID, vo.avatarName, vo.sex); APlayerManager.Instance.OnAddAvatar(cake, player); res.info = cake.ToPkt(); res.eResult = PktCreateAvatarResult.EResult.Success; responer.Response(res); }