示例#1
0
        public void Init(IGameContext context)
        {
            var mappping = this.NameIdMapping;
            var files    = storage.GetFiles(context.Settings.PlayerProfileFolder);

            if ((files != null) && (files.Count > 0))
            {
                Parallel.For(
                    0,
                    files.Count,
                    index =>
                {
                    var file    = files[index];
                    var profile = Load(storage, context.Settings.PlayerProfileFolder, file);
                    if (!mappping.TryAdd(profile.Name, profile.Id))
                    {
                        // TODO: log error
                    }
                });
            }
        }
示例#2
0
        private void LoadRoomsFromMapFolder(
            IContentStorage storage,
            string folder,
            IGameContext context,
            bool inDesign,
            object syncObject,
            IList <RoomData> dataToProcess)
        {
            var files = storage.GetFiles(folder);

            if ((files != null) && (files.Count > 0))
            {
                Parallel.For(
                    0,
                    files.Count,
                    index =>
                {
                    var path = storage.CombinePath(folder, files[index]);
                    LoadRoomsFromMapFile(storage, path, syncObject, context, inDesign, dataToProcess);
                });
            }
        }