Example #1
0
        public override int ProcessCCreateRole(CCreateRole protocol)
        {
            Session session = Session.Get(protocol);

            SCreateRole result = new SCreateRole();

            result.Argument.Name = protocol.Argument.Name;

            long roleid = _trole.Insert(new BRoleData()
            {
                Name = protocol.Argument.Name
            });

            // duplicate name check
            if (false == _trolename.TryAdd(protocol.Argument.Name, new BRoleId()
            {
                Id = roleid
            }))
            {
                result.ResultCode = SCreateRole.ResultFaild;
                session.SendResponse(result);
                return(Zeze.Transaction.Procedure.LogicError);
            }

            // initialize role data
            Game.App.Instance.Game_Bag.GetBag(roleid).SetCapacity(50);

            result.Argument.Id = roleid;
            result.ResultCode  = SCreateRole.ResultSuccess;
            session.SendResponse(result);
            return(Zeze.Transaction.Procedure.Success);
        }
Example #2
0
        public override object Clone()
        {
            CCreateRole obj = new CCreateRole();

            return(obj);
        }