Beispiel #1
0
        public static void Load(string datas)
        {
            _datas = new List <Extension>();
            foreach (var data in datas.Split('\n'))
            {
                if (!string.IsNullOrEmpty(data))
                {
                    var item = new AutoData.Extension(data.Split('\t'));
                    _datas.Add(item);

                    _dicDataIndexForId[item.Id] = _datas.Count - 1;
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// 扩建店铺 成功 构造返回
        /// </summary>
        /// <param name="build"></param>
        /// <param name="config"></param>
        /// <returns></returns>
        private async Task <LoadBuildInfo> BuildExtend(BuildData build, AutoData.Extension config)
        {
            var role = LogicServer.User.role;

            using (var tx = LogicServer.Instance.StateManager.CreateTransaction())
            {
                build.CurExtendLv++;
                build.Employee        += config.ClerkAddtion;
                build.CustomerAddtion += config.CustomerAddtion;
                build.Star++;
                build.Income      += config.Income;
                role.SocialStatus += config.Income;
                await BagDataHelper.Instance.DecGold(config.UpgradeCost.Count, config.UpgradeCost.CurrencyID, tx);  //扣钱

                await RoleDataHelper.Instance.UpdateRoleByRoleIdAsync(role.Id, role, tx);                           //更新用户身价

                await BuildDataHelper.Instance.UpdateBuildByBuildId(build, tx);                                     //更新建筑

                await tx.CommitAsync();
            }
            await MsgSender.Instance.UpdateGold(config.UpgradeCost.CurrencyID);

            await MsgSender.Instance.UpdateIncome();

            LoadBuildInfo info = new LoadBuildInfo()
            {
                BuildId           = build.Id,
                BuildType         = build.BuildType,
                Employee          = build.Employee,
                GetMoney          = build.GetMoney,
                Level             = build.Level,
                Name              = build.Name,
                Popularity        = build.Popularity,
                Pos               = build.Pos,
                RoleId            = build.RoleId,
                Star              = build.Star,
                TodayCanAdvartise = build.TodayCanAdvartise,
                CustomerAddtion   = build.CustomerAddtion,
                CurExtendLv       = build.CurExtendLv,
                CostGold          = build.CostGold,
                Income            = build.Income
            };

            return(info);
        }