public void JoinWebChatMember(HeroesGuildChatRelay server, ChatJoinEventArg arg) { if (!FeatureMatrix.IsEnable("UseHeroesGuildChatServer")) { arg.Callback(null, arg.AsyncResult); } Log <GuildService> .Logger.InfoFormat("JoinWebChatMember is called. [ {0}, {1}, {2} ]", arg.GuildKey, arg.CID, arg.Sender); IEntity entityByID = base.GetEntityByID(arg.GuildKey); if (entityByID != null && entityByID.Tag is GuildEntity) { Log <GuildService> .Logger.InfoFormat("JoinWebChatMember is called. [ {0}, {1}, {2}, found ]", arg.GuildKey, arg.CID, arg.Sender); GuildEntity entity = entityByID.Tag as GuildEntity; if (this.DoJoinWebChatMember(entity, server, arg)) { arg.Callback(this.GetGameMembers(arg.GuildKey), arg.AsyncResult); return; } Log <GuildService> .Logger.WarnFormat("JoinWebChatMember(). DoJoinWebChatMember is failed [ {0}, {1}, {2} ]", arg.GuildKey, arg.CID, arg.Sender); } else { Log <GuildService> .Logger.InfoFormat("JoinWebChatMember(). cannot find guild entity [ {0}, {1}, {2} ]", arg.GuildKey, arg.CID, arg.Sender); } arg.Callback(null, arg.AsyncResult); }
private bool DoJoinWebChatMember(GuildEntity entity, HeroesGuildChatRelay server, ChatJoinEventArg arg) { if (entity != null && entity.ChatRoom != null) { Log <GuildService> .Logger.InfoFormat("JoinWebChatMember is called. [ {0}, {1}, {2} ]", arg.GuildKey, arg.CID, arg.Sender); GuildChatWebMember member = new GuildChatWebMember(arg.CID, arg.GuildKey, arg.Sender, server); if (entity.ChatRoom.JoinWebMember(member)) { string gameMembers = this.GetGameMembers(arg.GuildKey); Log <GuildService> .Logger.InfoFormat("JoinWebChatMember is called. [ {0}, {1}, {2}, {3} ]", new object[] { arg.GuildKey, arg.CID, arg.Sender, gameMembers }); server.JoinWebMember(member); return(true); } } return(false); }