Пример #1
0
        public static DataEntities.FileLists.FileList GetRandom(DataEntities.FileLists.FileList.FileTypes fileTypes, Dictionary <string, object> options)
        {
            DataEntities.FileLists.FileList ret = null;

            var filesLookingFor = new List <DataEntities.FileLists.FileList>();

            var fileTypeType = GetTypeFromFileType(fileTypes);

            foreach (var file in _FileLists)
            {
                if (file.GetType() == fileTypeType)
                {
                    if (file.AllowedToAdd(options))
                    {
                        filesLookingFor.Add(file);
                    }
                }
            }

            Random rand = new Random();
            var    r    = rand.Next(0, filesLookingFor.Count);

            if (filesLookingFor.Any()) //Check if any were found
            {
                ret = filesLookingFor[r];
            }
            else //Error
            {
            }

            return(ret);
        }
Пример #2
0
        public static string GetFileNameFromFileType(DataEntities.FileLists.FileList.FileTypes fileTypes)
        {
            switch (fileTypes)
            {
            case DataEntities.FileLists.FileList.FileTypes.Game:
                return("game.json");

            case DataEntities.FileLists.FileList.FileTypes.Names:
                return("names.json");

            case DataEntities.FileLists.FileList.FileTypes.Genders:
                return("genders.json");

            case DataEntities.FileLists.FileList.FileTypes.Races:
                return("races.json");
            }

            return("ThisShouldntBeHere.txt");
        }
        public List <DataEntities.FileLists.FileList> GetGameFileList(DataEntities.FileLists.FileList.FileTypes fileType)
        {
            List <DataEntities.FileLists.FileList> ret = new List <DataEntities.FileLists.FileList>();

            var fileName = FileHandler.GetFileNameFromFileType(fileType);

            var filePath = Path.Combine(FileHandler._FilesDirectory, fileName);


            var cereal = File.ReadAllText(filePath);

            var type = FileHandler.GetTypeFromFileType(fileType);

            Type  genericType = typeof(List <>).MakeGenericType(new[] { type });
            IList list        = (IList)Activator.CreateInstance(genericType);
            var   listType    = list.GetType();

            var decereal = Newtonsoft.Json.JsonConvert.DeserializeObject(cereal, listType);

            if (decereal is List <DataEntities.FileLists.NameFile> )
            {
                var s = (List <DataEntities.FileLists.NameFile>)decereal;
                s.ForEach(x => { x.FileName = "Game"; x.FileType = DataEntities.FileLists.FileList.FileTypes.Names; });

                ret.AddRange(s);
            }
            else if (decereal is List <DataEntities.FileLists.GenderFile> )
            {
                var s = (List <DataEntities.FileLists.GenderFile>)decereal;
                s.ForEach(x => { x.FileName = "Game"; x.FileType = DataEntities.FileLists.FileList.FileTypes.Genders; });

                ret.AddRange(s);
            }
            else if (decereal is List <DataEntities.FileLists.RaceFile> )
            {
                var s = (List <DataEntities.FileLists.RaceFile>)decereal;
                s.ForEach(x => { x.FileName = "Game"; x.FileType = DataEntities.FileLists.FileList.FileTypes.Races; });

                ret.AddRange(s);
            }

            return(ret);
        }
Пример #4
0
        public static DataEntities.FileLists.FileList GetClassFromFileType(DataEntities.FileLists.FileList.FileTypes fileTypes)
        {
            DataEntities.FileLists.FileList ret = null;

            switch (fileTypes)
            {
            case DataEntities.FileLists.FileList.FileTypes.Names:
                ret = new DataEntities.FileLists.NameFile();
                break;

            case DataEntities.FileLists.FileList.FileTypes.Genders:
                ret = new DataEntities.FileLists.GenderFile();
                break;

            case DataEntities.FileLists.FileList.FileTypes.Races:
                ret = new DataEntities.FileLists.RaceFile();
                break;
            }

            return(ret);
        }
Пример #5
0
        public static System.Type GetTypeFromFileType(DataEntities.FileLists.FileList.FileTypes fileTypes)
        {
            System.Type ret = null;

            switch (fileTypes)
            {
            case DataEntities.FileLists.FileList.FileTypes.Names:
                ret = typeof(DataEntities.FileLists.NameFile);
                break;

            case DataEntities.FileLists.FileList.FileTypes.Genders:
                ret = typeof(DataEntities.FileLists.GenderFile);
                break;

            case DataEntities.FileLists.FileList.FileTypes.Races:
                ret = typeof(DataEntities.FileLists.RaceFile);
                break;
            }

            return(ret);
        }