Example #1
0
        private ASObject GetRoleSingle(TGGSession session, int rid)
        {
            if (rid == 0)
            {
                rid = session.Player.Role.Kind.role_id;
            }
            var _role = tg_role.Find(new String[] { tg_role._.role_id, tg_role._.user_id }, new Object[] { rid, session.Player.User.id });

            if (_role != null)
            {
                return(BuildData((int)ResultType.FAIL));
            }
            var base_role = Variable.BASE_ROLE.FirstOrDefault(m => m.id == rid);

            if (base_role == null)
            {
                return(BuildData((int)ResultType.ROLE_NOT_EXIST));
            }
            var identify = Variable.BASE_IDENTITY.FirstOrDefault(m => m.vocation == (int)VocationType.Roles && m.value == 1);

            var entity = new RoleItem();

            var role = new tg_role
            {
                user_id       = session.Player.User.id,
                role_id       = base_role.id,
                role_level    = 1,
                role_state    = (int)RoleStateType.IDLE,
                base_captain  = base_role.captain,
                base_force    = base_role.force,
                base_brains   = base_role.brains,
                base_charm    = base_role.charm,
                base_govern   = base_role.govern,
                power         = base_role.power,
                att_life      = base_role.life,
                role_identity = identify == null ? 0 : identify.id,
            };

            role.Save();
            entity.Kind = role;
            dynamic obje_user  = CommonHelper.ReflectionMethods("TGG.Module.User", "Common");
            var     life_skill = obje_user.InitLifeSkill(entity.Kind);

            entity.LifeSkill = life_skill;
            new Upgrade().UserLvUpdate(session.Player.User.id, 0, role);

            return(BuildData((int)ResultType.SUCCESS));
        }
Example #2
0
        /// <summary>
        /// 用户金币保存并推送
        /// </summary>
        private void PowerSaveAndSend(tg_role role, int power, Int64 userid)
        {
            role.power += power;
            role.Save();
            if (!Variable.OnlinePlayer.ContainsKey(userid))
            {
                return;
            }
            var session = Variable.OnlinePlayer[userid] as TGGSession;

            if (session == null)
            {
                return;
            }
            session.Player.Role.Kind = role;
            var list = new List <string>
            {
                Expressions.GetPropertyName <RoleInfoVo>(q => q.rolePower),
                Expressions.GetPropertyName <RoleInfoVo>(q => q.power)
            };

            new RoleAttUpdate().RoleUpdatePush(role, userid, list);
        }
Example #3
0
        /// <summary>初始用户武将信息</summary>
        public tg_role InitRole(tg_user user)
        {
            var base_role_0 = Variable.BASE_RULE.FirstOrDefault(q => q.id == "1003");
            var base_role_1 = Variable.BASE_RULE.FirstOrDefault(q => q.id == "1004");

            if (base_role_0 == null || base_role_1 == null)
            {
                return(null);
            }
            var roleid    = user.player_sex == (int)SexType.Male ? int.Parse(base_role_0.value) : int.Parse(base_role_1.value);
            var base_role = Variable.BASE_ROLE.FirstOrDefault(m => m.id == roleid);

            if (base_role == null)
            {
                return(null);
            }
            var identify = Variable.BASE_IDENTITY.FirstOrDefault(m => m.vocation == user.player_vocation);

            var model = new tg_role
            {
                user_id       = user.id,
                role_id       = roleid,
                role_level    = 1,
                role_state    = (int)RoleStateType.PROTAGONIST,
                base_captain  = base_role.captain,
                base_force    = base_role.force,
                base_brains   = base_role.brains,
                base_charm    = base_role.charm,
                base_govern   = base_role.govern,
                power         = base_role.power,
                att_life      = base_role.life,
                role_identity = identify == null ? 0 : identify.id,
            };

            model.Save();
            return(model);
        }