示例#1
0
        /// <summary>记录金币</summary>
        private void RecordGold(tg_user user, int gold, int value)
        {
            //记录元宝花费日志
            var logdata = string.Format("{0}_{1}_{2}_{3}", "Gold", gold, value, user.gold);

            (new Share.Log()).WriteLog(user.id, (int)LogType.Use, (int)ModuleNumber.ROLETRAIN, (int)RoleTrainCommand.TRAIN_TEA_INSIGHT, logdata);
        }
示例#2
0
        /// <summary>
        /// 验证金钱
        /// </summary>
        /// <param name="user">用户实体</param>
        /// <param name="session"></param>
        /// <returns></returns>
        private bool CheckCoin(tg_user user, TGGSession session)
        {
            var baseinfo = Variable.BASE_RULE.FirstOrDefault(q => q.id == "32119");

            if (baseinfo == null)
            {
                return(false);
            }
            //消耗的金钱
            var cost = Convert.ToInt32(baseinfo.value);

            if (user.coin < cost)
            {
                return(false);
            }

            var coin = user.coin;

            user.coin -= cost;
            user.Update();
            session.Player.User.coin = user.coin;
            (new Share.User()).REWARDS_API((int)GoodsType.TYPE_COIN, user);

            //日志
            var logdata = string.Format("{0}_{1}_{2}_{3}", "Coin", coin, cost, user.coin);

            (new Share.Log()).WriteLog(user.id, (int)LogType.Use, (int)ModuleNumber.WAR, (int)WarCommand.WAR_DEFENCE_PLAN_OPEN, "合战", "解锁防守方案", "金钱", (int)GoodsType.TYPE_COIN, cost, user.coin, logdata);
            return(true);
        }
示例#3
0
        /// <summary>初始用户扩展信息</summary>
        public tg_user_extend InitUserExtend(tg_user user)
        {
            if (user == null || user.id <= 0)
            {
                return(null);
            }
            var _b = Variable.BASE_RULE.FirstOrDefault(q => q.id == "4001");
            var _t = Variable.BASE_RULE.FirstOrDefault(q => q.id == "17001");
            var _s = Variable.BASE_RULE.FirstOrDefault(q => q.id == "9002");

            if (_b == null || _t == null || _s == null)
            {
                return(new tg_user_extend());
            }
            var base_bag       = Convert.ToInt32(_b.value);
            var base_train_bar = Convert.ToInt32(_t.value);
            var shot_count     = Convert.ToInt32(_s.value);

            var model = new tg_user_extend {
                user_id = user.id, bag_count = base_bag, train_bar = base_train_bar, shot_count = shot_count
            };

            model.Save();
            return(model);
        }
示例#4
0
        /// <summary>处理喝茶信息</summary>
        private ASObject TeaInfo(int nspirit, tg_user user, int spirit)
        {
            var session = Variable.OnlinePlayer[user.id] as TGGSession;

            if (session == null)
            {
                return(Error((int)ResultType.BASE_PLAYER_OFFLINE_ERROR));
            }

            var uspirit = user.spirit;

            user.spirit = tg_user.IsSpiritMax(user.spirit, spirit);     //玩家喝茶获得的魂
            user.Update();
            session.Player.User = user;

            (new Share.User()).REWARDS_API((int)GoodsType.TYPE_SPIRIT, user);             //推送魂更新
            (new Share.Title()).IsTitleAcquire(user.id, (int)TitleGetType.USE_TEA_TABLE); //判断称号信息

            //记录获得魂日志
            var logdata = string.Format("{0}_{1}_{2}_{3}", "S", uspirit, spirit, user.spirit);

            (new Share.Log()).WriteLog(user.id, (int)LogType.Get, (int)ModuleNumber.ROLETRAIN, (int)RoleTrainCommand.TRAIN_TEA_INSIGHT, logdata);

            return(new ASObject(TeaBulidData((int)ResultType.SUCCESS, spirit, nspirit)));
        }
示例#5
0
        /// <summary>创建武将</summary>
        private RoleItem CreateRoleItem(BaseRoleInfo baserole, tg_user user, BaseIdentity baseIdentity)
        {
            var role = new tg_role
            {
                role_id       = baserole.id,
                role_identity = baseIdentity.id,
                base_captain  = baserole.captain,
                base_force    = baserole.force,
                base_brains   = baserole.brains,
                base_charm    = baserole.charm,
                base_govern   = baserole.govern,
                power         = baserole.power,
                att_life      = baserole.life,
                user_id       = user.id,
                role_state    = (int)RoleStateType.IDLE,
                role_level    = 1,
            };

            return(new RoleItem()
            {
                Kind = role,
                LifeSkill = new tg_role_life_skill(),
                FightSkill = new List <tg_role_fight_skill>(),
            });
        }
示例#6
0
        /// <summary>PlayerDetailed 实体转换</summary>
        public static PlayerDetailed ToPlayerDetailed(tg_user model, tg_role role, List <String> areas, int loginstate, int cars, int viplevel, string identity, string vocation, string office)
        {
            var player = new PlayerDetailed()
            {
                id          = model.id,
                rid         = role.id,
                code        = model.user_code,
                name        = model.player_name,
                vocation    = vocation,
                login_state = loginstate == 0 ? "不在线" : "在线",
                vip         = viplevel,
                identity    = identity,
                level       = role.role_level,
                office      = office,
                gold        = model.gold,
                coin        = model.coin,
                spirit      = model.spirit,
                fame        = model.fame,
                merit       = model.merit,
                honor       = role.total_honor,
                cars        = cars,
                Areas       = areas,
            };

            return(player);
        }
示例#7
0
        /// <summary> 金钱消耗验证 </summary>
        private bool CheckMoney(tg_user user, int costgold)
        {
#if DEBUG
            XTrace.WriteLine("{0}玩家越狱前的金币{1}", user.player_name, user.gold);
#endif
            var leftgold = user.gold - costgold;
            var userid   = user.id;
            if (leftgold < 0)
            {
                return(false);
            }
            user.gold = Convert.ToInt32(leftgold);
            user.Update();
            if (!Variable.OnlinePlayer.ContainsKey(userid))
            {
                return(false);
            }
            var session = Variable.OnlinePlayer[userid] as TGGSession;
            if (session == null)
            {
                return(false);
            }
            session.Player.User = user;
#if DEBUG
            XTrace.WriteLine("{0}玩家越狱后的金币{1}", session.Player.User.player_name, session.Player.User.gold);
#endif
            log.GoldInsertLog(costgold, user.id, (int)ModuleNumber.PRISON, (int)PrisonCommand.BREAK);//金钱消耗记录
            (new Share.User()).REWARDS_API((int)GoodsType.TYPE_GOLD, session.Player.User);
            return(true);
        }
示例#8
0
        /// <summary>转换成前端需要的Vo数据</summary>
        public UserInfoVo ConvertUser(tg_user user)
        {
            var family = tg_family_member.GetEntityById(user.id) ?? new tg_family_member {
                fid = 0
            };
            var role  = tg_role.GetRoreByUserid(user.id, user.role_id);
            var model = new UserInfoVo
            {
                id           = user.id,
                playerName   = user.player_name,
                sex          = user.player_sex,
                vocation     = user.player_vocation,
                area         = user.player_influence,
                camp         = user.player_camp,
                positionId   = user.player_position,
                spirit       = user.spirit,
                fame         = user.fame,
                growAddCount = role.att_points,
                gold         = user.gold,
                coin         = user.coin,
                rmb          = user.rmb,
                coupon       = user.coupon,
                familyId     = (int)family.id,
            };

            return(model);
        }
示例#9
0
        /// <summary>获取玩家信息</summary>
        public Player GetPlayer(tg_user user)
        {
            var user_extend = tg_user_extend.GetEntityByUserId(user.id) ?? InitUserExtend(user);//还未完成

            //防沉迷
            var fcm = 0;
            var ut  = tg_user_temp.GetFindEntity(user.user_code);

            if (ut != null)
            {
                fcm = ut.isAdult;
            }
            user_extend.fcm = fcm;
            tg_user_extend.Save(user_extend);

            var scene  = view_scene_user.GetSceneByUserid(user.id);
            var bag    = InitBag(user, user_extend);
            var family = tg_family_member.GetEntityById(user.id) ?? new tg_family_member {
                fid = 0
            };
            var blacklist = tg_friends.GetEntityListByUserIdAndState(user.id).Select(m => m.friend_id).ToList();

            var entity = new RoleItem {
                Kind = tg_role.GetEntityByUserId(user.id) ?? InitRole(user)
            };

            entity.LifeSkill  = tg_role_life_skill.GetFindByRid(entity.Kind.id) ?? InitLifeSkill(entity.Kind.id);
            entity.FightSkill = tg_role_fight_skill.GetRoleSkillByRid(entity.Kind.id);

            var area = tg_user_area.GetEntityByUserId(user.id).ToList();

            if (!area.Any())
            {
                area = InitArea(user.id);
            }
            var vip       = tg_user_vip.GetEntityByUserId(user.id) ?? InitVip(user.id);
            var daminglog = tg_daming_log.GetEntityByUserId(user.id);

            if (!daminglog.Any())
            {
                daminglog = InitDamingLog(user.id);
            }

            var player = new Player
            {
                User         = user,
                UserExtend   = user_extend,
                Scene        = scene,
                Role         = entity,
                Bag          = bag,
                Family       = family,
                BlackList    = blacklist,
                BusinessArea = area,
                Vip          = vip,
                DamingLog    = daminglog,
            };

            player.moduleIds = GetUserOpenModule(player.User.id);
            return(player);
        }
示例#10
0
文件: MESSAGE.cs 项目: Lantnr/MyTest
        /// <summary> 金钱消耗验证 </summary>
        private bool CheckMoney(tg_user user, TGGSession session)
        {
            var baserule = Variable.BASE_RULE.FirstOrDefault(q => q.id == "25005");

            if (baserule == null)
            {
                return(false);
            }
            var costcoin = Convert.ToInt64(baserule.value);

#if DEBUG
            XTrace.WriteLine("{0}玩家留言前的铜币{1}", session.Player.User.player_name, session.Player.User.coin);
#endif
            var leftcoin = user.coin - costcoin;
            if (leftcoin < 0)
            {
                return(false);
            }
            user.coin = leftcoin;
            user.Update();
            session.Player.User = user;
#if DEBUG
            XTrace.WriteLine("{0}玩家留言后的铜币{1}", session.Player.User.player_name, session.Player.User.coin);
#endif
            (new Share.User()).REWARDS_API((int)GoodsType.TYPE_COIN, session.Player.User);
            return(true);
        }
示例#11
0
        /// <summary>构建奖励更新数据</summary>
        /// <param name="list">物品类型集合</param>
        /// <param name="model">玩家</param>
        /// <param name="increases">新增物品对象集合</param>
        /// <param name="decreases">更新物品对象集合</param>
        /// <param name="delete">删除物品ID集合</param>
        private ASObject RewardsASObject(IEnumerable <int> list, tg_user model, List <ASObject> increases, List <ASObject> decreases, List <double> delete)
        {
            var dic      = new Dictionary <string, object>();
            var aso_list = list.Select(item => AMFConvert.ToASObject(BulidReward(item, model, increases, decreases, delete))).ToList();

            dic.Add("rewards", aso_list);
            return(new ASObject(dic));
        }
示例#12
0
 public FightUserEntity()
 {
     user       = new tg_user();
     yin        = new YinEntity();
     attackRole = new RoleEntity();
     personal   = new tg_fight_personal();
     roleEntity = new List <RoleEntity>();
 }
示例#13
0
        /// <summary> 获取奖励 </summary>
        /// <param name="user"></param>
        /// <param name="str"></param>
        /// <param name="list"></param>
        /// <returns></returns>
        private tg_user GetReward(tg_user user, string str, ref List <RewardVo> list)
        {
            var coin = 0;
            var ids  = new List <int>();

            foreach (var item in str.Split('|'))
            {
                var array = item.Split('_');
                if (array.Length != 2)
                {
                    continue;
                }
                var values = Convert.ToInt32(array[1]);
                switch (Convert.ToInt32(array[0]))
                {
                case 1:
                {
                    const int type = (int)GoodsType.TYPE_MERIT;
                    ids.Add(type);
                    user.merit += values;
                    list.Add(new RewardVo {
                            goodsType = type, value = values
                        });
                    break;
                }        //1:战功值_数量

                case 2:
                {
                    const int type = (int)GoodsType.TYPE_COIN;
                    coin     += values;
                    user.coin = tg_user.IsCoinMax(user.coin, values);
                    ids.Add(type);
                    list.Add(new RewardVo {
                            goodsType = type, value = values
                        });
                    break;
                }        //2:个人战游戏币_数量

                default: { break; }
                }
            }

            if (!ids.Any())
            {
                return(user);
            }
            user.Update();
            (new User()).REWARDS_API(ids, user);

            if (coin == 0)
            {
                return(user);
            }
            var logdata = string.Format("{0}_{1}_{2}_{3}", "Coin", coin, coin, user.coin);

            (new Log()).WriteLog(user.id, (int)LogType.Get, (int)ModuleNumber.WAR, (int)WarCommand.WAR_COPY_ATTACK, "用户", "", "金钱", (int)GoodsType.TYPE_COIN, coin, user.coin, logdata);
            return(user);
        }
示例#14
0
        /// <summary>返回玩家自己是守护者的信息</summary>
        private ASObject ReturnWatchMen(tg_user user, int enemytype, int enemyid, tg_duplicate_checkpoint checkpoint, int ncount, int fcount)
        {
            var uservo = Common.GetInstance().ConvertUser(user);
            var aso    = new ASObject(Common.GetInstance().BulidData((int)ResultType.SUCCESS, checkpoint,
                                                                     enemytype, enemyid, ncount, fcount,
                                                                     uservo, checkpoint.dekaron));

            return(aso);
        }
示例#15
0
        /// <summary> 金钱消耗验证 </summary>
        private bool CheckMoney(tg_user user, int count, TGGSession session)
        {
#if DEBUG
            XTrace.WriteLine("{0}玩家第{1}次刷新", session.Player.User.player_name, count);
#endif
            if (count == 0) //第一次刷新
            {
                var baserule = Variable.BASE_RULE.FirstOrDefault(q => q.id == "21002");
                if (baserule == null)
                {
                    return(false);
                }
                var costcoin = Convert.ToInt64(baserule.value);
#if DEBUG
                XTrace.WriteLine("{0}玩家第刷新前的铜币{1}", session.Player.User.player_name, session.Player.User.coin);
#endif
                if (user.coin < costcoin)
                {
                    return(false);
                }
                user.coin -= costcoin;
                user.Update();
                session.Player.User.coin = user.coin;
#if DEBUG
                XTrace.WriteLine("{0}玩家第刷新后的铜币{1}", session.Player.User.player_name, session.Player.User.coin);
#endif
                (new Share.User()).REWARDS_API((int)GoodsType.TYPE_COIN, session.Player.User);
                return(true);
            }
            if (count != 1)
            {
                return(false);
            }
#if DEBUG
            XTrace.WriteLine("{0}玩家第刷新前的金币{1}", session.Player.User.player_name, session.Player.User.gold);
#endif
            //第二次刷新
            var baserule1 = Variable.BASE_RULE.FirstOrDefault(q => q.id == "21003");
            if (baserule1 == null)
            {
                return(false);
            }
            int costgold = Convert.ToInt32(baserule1.value);
            if (user.gold < costgold)
            {
                return(false);
            }
            user.gold -= costgold;
            user.Update();
            session.Player.User.gold = user.gold;
#if DEBUG
            XTrace.WriteLine("{0}玩家第刷新后的金币{1}", session.Player.User.player_name, session.Player.User.gold);
#endif
            log.GoldInsertLog(costgold, user.id, (int)ModuleNumber.APPRAISE, (int)AppraiseCommand.TASK_BUY);  //金币消费记录
            (new Share.User()).REWARDS_API((int)GoodsType.TYPE_GOLD, session.Player.User);
            return(true);
        }
示例#16
0
文件: Common.cs 项目: Lantnr/MyTest
        /// <summary>获取玩家信息</summary>
        public Player GetPlayer(tg_user user, Int32 isAdult)
        {
            try
            {
                var user_extend = tg_user_extend.GetEntityByUserId(user.id) ?? InitUserExtend(user); //还未完成
                user_extend.fcm = isAdult;
                tg_user_extend.Save(user_extend);

                var scene  = view_scene_user.GetSceneByUserid(user.id);
                var bag    = InitBag(user, user_extend);
                var family = tg_family_member.GetEntityById(user.id) ?? new tg_family_member {
                    fid = 0
                };
                var blacklist = tg_friends.GetEntityListByUserIdAndState(user.id).Select(m => m.friend_id).ToList();

                var entity = new RoleItem {
                    Kind = tg_role.GetEntityByUserId(user.id) ?? InitRole(user)
                };
                entity.LifeSkill  = tg_role_life_skill.GetFindByRid(entity.Kind.id) ?? InitLifeSkill(entity.Kind.id);
                entity.FightSkill = tg_role_fight_skill.GetRoleSkillByRid(entity.Kind.id);

                var area = tg_user_area.GetEntityByUserId(user.id).ToList();
                if (!area.Any())
                {
                    area = InitArea(user.id);
                }
                var vip       = tg_user_vip.GetEntityByUserId(user.id) ?? InitVip(user.id);
                var daminglog = tg_daming_log.GetEntityByUserId(user.id);
                if (!daminglog.Any())
                {
                    daminglog = InitDamingLog(user.id);
                }
                var war    = GetWarItem(user.id);
                var player = new Player
                {
                    User         = user,
                    UserExtend   = user_extend,
                    Scene        = scene,
                    Role         = entity,
                    Bag          = bag,
                    Family       = family,
                    BlackList    = blacklist,
                    BusinessArea = area,
                    Vip          = vip,
                    DamingLog    = daminglog,
                    War          = war,
                };
                player.moduleIds = GetUserOpenModule(player.User.id);
                return(player);
            }
            catch (Exception ex)
            {
                XTrace.WriteException(ex);
                return(null);
            }
        }
示例#17
0
        /// <summary>构建奖励更新数据</summary>
        /// <param name="goodsType">物品类型</param>
        /// <param name="model">玩家</param>
        /// <param name="increases">新增物品对象集合</param>
        /// <param name="decreases">更新物品对象集合</param>
        /// <param name="delete">删除物品ID集合</param>
        private ASObject RewardsASObject(int goodsType, tg_user model, List <ASObject> increases, List <ASObject> decreases, List <double> delete)
        {
            var dic      = new Dictionary <string, object>();
            var aso_list = new List <ASObject>
            {
                AMFConvert.ToASObject(BulidReward(goodsType, model, increases, decreases, delete))
            };

            dic.Add("rewards", aso_list);
            return(new ASObject(dic));
        }
示例#18
0
 /// <summary> tg_family and user 组装InviteReceiveVo</summary>
 /// <param name="model">家族实体</param>
 /// <param name="user">用户实体</param>
 /// <returns>前端InviteReceiveVo</returns>
 public static InviteReceiveVo ToInviteReceiveVo(tg_family model, tg_user user)
 {
     return(new InviteReceiveVo()
     {
         id = model.id,
         familyId = (int)model.id,
         userName = user.player_name,
         familyName = model.family_name,
         userId = Convert.ToInt32(user.id),
     });
 }
示例#19
0
        /// <summary> 修改玩家状态 </summary>
        /// <param name="user">用户信息</param>
        /// <param name="type">状态类型</param>
        /// <returns></returns>
        private ASObject UpdatePlayState(tg_user user, int type)
        {
            //if (!IsPosition(user)) return new ASObject(Common.GetInstance().BuildData((int)ResultType.POSITION_ERROR));
            var playerdata = Variable.Activity.Siege.PlayerData.FirstOrDefault(m => m.user_id == user.id);

            if (playerdata == null)
            {
                return(new ASObject(Common.GetInstance().BuildData((int)ResultType.NO_DATA)));
            }
            lock (this) { playerdata.state = type; }
            return(new ASObject(Common.GetInstance().BuildData((int)ResultType.SUCCESS)));
        }
示例#20
0
        /// <summary>初始化背包数据</summary>
        public BagItem InitBag(tg_user user, tg_user_extend extend)
        {
            var bag = new BagItem {
                BagIsFull = false, Surplus = 0,
            };

            var count = tg_bag.GetFindCount(user.id);

            bag.Surplus   = extend.bag_count - count;
            bag.BagIsFull = bag.Surplus <= 0;
            return(bag);
        }
示例#21
0
 /// <summary> 组装玩家场景数据实体 </summary>
 public view_scene_user BuildSceneUser(tg_user user, int level)
 {
     return(new view_scene_user
     {
         player_camp = user.player_camp,
         model_number = (int)ModuleNumber.SIEGE,
         player_name = user.player_name,
         player_sex = user.player_sex,
         player_vocation = user.player_vocation,
         role_level = level,
         user_id = user.id,
     });
 }
示例#22
0
        /// <summary>
        /// 获取能加的声望
        /// </summary>
        /// <param name="user"></param>
        /// <param name="receive">领取的金钱</param>
        private Int64 GetFame(tg_user user, int fame)
        {
            var _total_false = user.fame + fame;
            var poor         = _total_false - Variable.MAX_FAME;

            if (!(poor > 0))
            {
                return(fame);
            }
            var use = fame - poor;

            return(use < 0 ? 0 : use);
        }
示例#23
0
        /// <summary>获取上限值</summary>
        public BaseRule GetBaseRule(tg_user user, int roleid)
        {
            var baserule = new BaseRule();

            if (roleid == user.role_id)
            {
                baserule = Variable.BASE_RULE.FirstOrDefault(m => m.id == "7013");
            }
            else
            {
                baserule = Variable.BASE_RULE.FirstOrDefault(m => m.id == "7019");
            }
            return(baserule);
        }
示例#24
0
        /// <summary>获取可以锻炼的加成值</summary>
        public double GetCanAtt(tg_user user, tg_role role, int attribute, BaseTrain basetrain, int count)
        {
            count = basetrain.count * count;
            var base_rule = GetBaseRule(user, role.role_id);

            if (base_rule == null)
            {
                return(0);
            }
            var role_att = GetTrainAtt(role, attribute);
            var att      = GetAtt(role_att, count, base_rule);

            return(att);
        }
示例#25
0
        /// <summary>组织物品跟新数据</summary>
        /// <param name="model">玩家</param>
        /// <param name="goodsType">物品类型</param>
        /// <param name="increases">新增物品对象集合</param>
        /// <param name="decreases">更新物品对象集合</param>
        /// <param name="delete">删除物品ID集合</param>
        /// <returns></returns>
        private RewardVo BulidReward(int goodsType, tg_user model, List <ASObject> increases, List <ASObject> decreases, List <double> delete)
        {
            var reward = new RewardVo();

            switch (goodsType)
            {
                #region
            case (int)GoodsType.TYPE_COIN: { reward = new RewardVo {
                                                 goodsType = goodsType, value = model.coin
                                             }; break; }

            case (int)GoodsType.TYPE_COUPON: { reward = new RewardVo {
                                                   goodsType = goodsType, value = model.coupon
                                               }; break; }

            case (int)GoodsType.TYPE_GOLD: { reward = new RewardVo {
                                                 goodsType = goodsType, value = model.gold
                                             }; break; }

            case (int)GoodsType.TYPE_RMB: { reward = new RewardVo {
                                                goodsType = goodsType, value = model.rmb,
                                            }; break; }

            case (int)GoodsType.TYPE_PROP: { reward = new RewardVo {
                                                 goodsType = goodsType, increases = increases, decreases = decreases
                                             }; break; }

            case (int)GoodsType.TYPE_EQUIP: { reward = new RewardVo {
                                                  goodsType = goodsType, increases = increases, decreases = decreases
                                              }; break; }

            case (int)GoodsType.TYPE_SPIRIT: { reward = new RewardVo {
                                                   goodsType = goodsType, value = model.spirit
                                               }; break; }

            case (int)GoodsType.TYPE_FAME: { reward = new RewardVo {
                                                 goodsType = goodsType, value = model.fame
                                             }; break; }

            case (int)GoodsType.TYPE_DONATE: { reward = new RewardVo {
                                                   goodsType = goodsType, value = model.donate
                                               }; break; }

            case (int)GoodsType.TYPE_MERIT: { reward = new RewardVo {
                                                  goodsType = goodsType, value = model.merit
                                              }; break; }
                #endregion
            }
            return(reward);
        }
示例#26
0
        /// <summary>向用户推送更新</summary>
        public void RewardsToUser(tg_user user, int type)
        {
            if (!Variable.OnlinePlayer.ContainsKey(user.id))
            {
                return;
            }
            var session = Variable.OnlinePlayer[user.id] as TGGSession;

            if (session == null)
            {
                return;
            }
            session.Player.User = user;
            (new User()).REWARDS_API(type, session.Player.User);
        }
示例#27
0
        /// <summary>用户金钱判断</summary>
        private bool UserResource(int cost, ref tg_user user)
        {
            var _gold = user.gold;

            if (user.gold > cost)
            {
                var gold = user.gold - cost;
                user.gold = gold;
                //日志
                var logdata = string.Format("{0}_{1}_{2}_{3}", "G", _gold, cost, user.gold);
                (new Share.Log()).WriteLog(user.id, (int)LogType.Use, (int)ModuleNumber.DUPLICATE, (int)DuplicateCommand.TOWER_CHECKPOINT_NPC_REFRESH, logdata);
                return(true);
            }
            return(false);
        }
示例#28
0
        private List<RewardVo> GetReward(tg_user model, IEnumerable<int> list)
        {
            var rv = new List<RewardVo>();
            foreach (var type in list)
            {
                var reward = new RewardVo();
                switch (type)
                {
                    #region

                    case (int)GoodsType.TYPE_COIN:
                        {
                            reward = new RewardVo { goodsType = type, value = model.coin };
                            break;
                        }
                    case (int)GoodsType.TYPE_COUPON:
                        {
                            reward = new RewardVo { goodsType = type, value = model.coupon };
                            break;
                        }
                    case (int)GoodsType.TYPE_GOLD:
                        {
                            reward = new RewardVo { goodsType = type, value = model.gold };
                            break;
                        }
                    case (int)GoodsType.TYPE_RMB:
                        {
                            reward = new RewardVo { goodsType = type, value = model.rmb, };
                            break;
                        }
                    case (int)GoodsType.TYPE_SPIRIT:
                        {
                            reward = new RewardVo { goodsType = type, value = model.spirit };
                            break;
                        }
                    case (int)GoodsType.TYPE_FAME:
                        {
                            reward = new RewardVo { goodsType = type, value = model.fame };
                            break;
                        }
                    #endregion
                }
                rv.Add(reward);
            }

            return rv;
        }
示例#29
0
        /// <summary>
        /// 用户金币保存并推送
        /// </summary>
        private void GoldSaveAndSend(tg_user user, Int32 cost, Int64 userid)
        {
            user.gold -= cost;
            user.Save();
            if (!Variable.OnlinePlayer.ContainsKey(userid))
            {
                return;
            }
            var session = Variable.OnlinePlayer[userid] as TGGSession;

            if (session == null)
            {
                return;
            }
            session.Player.User.gold = user.gold;
            new Share.User().REWARDS_API((int)GoodsType.TYPE_GOLD, user);
        }
示例#30
0
        /// <summary>
        /// 用户金币保存并推送
        /// </summary>
        private void GoldSaveAndSend(tg_user user, BaseBuyPower baseinfo, Int64 userid)
        {
            user.gold -= baseinfo.gold;
            user.Save();
            if (!Variable.OnlinePlayer.ContainsKey(userid))
            {
                return;
            }
            var session = Variable.OnlinePlayer[userid] as TGGSession;

            if (session == null)
            {
                return;
            }
            session.Player.User = user;
            Common.GetInstance().RewardsToUser(session, user, (int)GoodsType.TYPE_GOLD);
        }