コード例 #1
0
        public async Task <bool> OnHandle(MessageContext context, CDeleteCharacterReqMessage message)
        {
            var session = context.GetSession <Session>();
            var plr     = session.Player;

            if (!plr.CharacterManager.Remove(message.Slot))
            {
                session.Send(new SServerResultInfoAckMessage(ServerResult.DeleteCharacterFailed));
            }

            return(true);
        }
コード例 #2
0
        public void DeleteCharacterHandler(GameSession session, CDeleteCharacterReqMessage message)
        {
            Logger.ForAccount(session)
            .Information("Removing character {slot}", message.Slot);

            try
            {
                session.Player.CharacterManager.Remove(message.Slot);
            }
            catch (CharacterException ex)
            {
                Logger.ForAccount(session)
                .Error(ex.Message);
                session.SendAsync(new SServerResultInfoAckMessage(ServerResult.DeleteCharacterFailed));
            }
        }
コード例 #3
0
        public void DeleteCharacterHandler(GameSession session, CDeleteCharacterReqMessage message)
        {
            Logger.Info()
            .Account(session)
            .Message($"Removing character {message.Slot}")
            .Write();

            try
            {
                session.Player.CharacterManager.Remove(message.Slot);
            }
            catch (CharacterException ex)
            {
                Logger.Error()
                .Account(session)
                .Message(ex.Message)
                .Write();
                session.Send(new SServerResultInfoAckMessage(ServerResult.DeleteCharacterFailed));
            }
        }