Project Arrhythmia
A video game developed by Vitamin Games.
Loading...
Searching...
No Matches
DataManager Class Reference
+ Inheritance diagram for DataManager:

Classes

class  BeatmapTheme
 
class  DifficultiesClass
 
class  DifficultySetting
 
class  FileTypeDefinition
 
class  FileTypeDefinitionsClass
 
class  GameData
 
class  GameObjectCategory
 
class  LevelRank
 
class  LevelRanksClass
 
class  LinkType
 
class  LSAnimation
 
class  MetaData
 Stores all metadata in seperate file from beatmap. More...
 
class  MetadataLegacy
 
class  PrefabTypeInfo
 
class  PrefabTypesClass
 
class  SaveState
 
struct  ThemeUpdater
 

Public Types

enum  FileType {
  User_Settings = 0 , User_Save = 1 , Level_Audio = 2 , Level_Data = 3 ,
  Level_Metadata = 4 , Level_Image = 5 , Editor_Prefab = 6 , Editor_Theme = 7 ,
  Editor_Zip = 8
}
 
enum  LevelRankType {
  N = 0 , P = 1 , S = 2 , A = 3 ,
  B = 4 , C = 5 , D = 6
}
 
enum  DifficultyType {
  None = -1 , Basic = 0 , Moderate = 1 , Advanced = 2 ,
  Expert = 3 , Master = 4
}
 
enum  Game { None = 0 , Custom = 1 , ADOFAI = 2 , _1000xRESIST = 3 }
 
enum  VersionComparison { LessThan , EqualTo , GreaterThan }
 
enum  OutlineType { Standard = 0 , Limited = 1 , None = 2 }
 
enum  PrefabType {
  Character = 0 , CharacterParts = 1 , Props = 2 , Bullets = 3 ,
  Pulses = 4 , Bombs = 5 , Spinners = 6 , Beams = 7 ,
  Static = 8 , Misc1 = 9 , Misc2 = 10 , Misc3 = 11
}
 

Public Member Functions

void UpdateBeatmapTest (string _version)
 
FileTypeDefinition GetFileTypeInfo (FileType _fileType)
 
float ParseFloat (string _in, out string _out)
 
bool HasKey (string _setting)
 
void DeleteKey (string _setting)
 
void UpdateSettingEnum (string _setting, int _value)
 
int GetSettingEnum (string _setting, int _default)
 
string GetSettingEnumName (string _setting, int _default, string _lang=null)
 
int GetSettingEnumCount (string _setting)
 
string GetSettingEnumFunctionCall (string _setting, int _default)
 
JSONNode GetSettingEnumValues (string _setting, int _default)
 
string GetSettingEnumUIDescription (string _setting, int _default, string _lang=null)
 
List< string > GetSettingEnumValuesAll (string _setting)
 
List< string > GetSettingEnumNamesAll (string _setting)
 
JSONNode GetSettingEnumValues (string _setting, string _name)
 
bool isValidEnum (string _setting)
 
void UpdateSettingString (string _setting, string _value)
 
string GetSettingString (string _setting)
 
string GetSettingString (string _setting, string _default)
 
void UpdateSettingInt (string _setting, int _value)
 
int GetSettingInt (string _setting)
 
int GetSettingInt (string _setting, int _default)
 
void UpdateSettingFloat (string _setting, float _value)
 
float GetSettingFloat (string _setting)
 
float GetSettingFloat (string _setting, float _default)
 
void UpdateSettingVector2D (string _setting, int _index, Vector2[] _values)
 Update a Vector2D player setting.
 
void UpdateSettingVector2D (string _setting, int _index, Vector2Int[] _values)
 Update a Vector2D player setting.
 
Vector2 GetSettingVector2D (string _setting)
 Get's a Vector2D player setting.
 
int GetSettingVector2DIndex (string _setting)
 Get's a Vector2D player setting.
 
void UpdateSettingBool (string _setting, bool _value)
 
bool GetSettingBool (string _setting)
 
bool GetSettingBool (string _setting, bool _default)
 
bool SettingHasKey (string _setting)
 
void ClearThemeIDs ()
 
void ClearCustomThemes ()
 
void InitThemes ()
 
BeatmapTheme GetTheme (string _id)
 
MetaData ParseMetadata (string _metadata, bool _setActive=true, bool _isLegacy=true)
 Parse all the metadata data.
 
async Task< string > SaveMetadata (string _path)
 
async Task< string > SaveMetadata (string _path, MetaData _data)
 
Task< string > SaveMetadata_Legacy (string _path)
 
async Task< string > SaveMetadata_Legacy (string _path, MetaData _data)
 
async System.Threading.Tasks.Task SaveData (string _path)
 
JSONNode GeneratePrefabJSON (DataManager.GameData.Prefab _prefab)
 
async System.Threading.Tasks.Task SaveDataNew (string _path, GameData _data)
 
GameData CreateBaseBeatmap ()
 Makes a new GameData object with the basics to make a level.
 
bool isMainThread ()
 

Static Public Member Functions

static int GetVersion (int _level)
 
static int GetVersion (string _version, int _level)
 
static VersionComparison CompareVersions (string _v1, string _v2)
 

Public Attributes

FileTypeDefinitionsClass FileTypeDefinitions
 
TextAsset UISettingsAsset
 
JSONNode interfaceSettings
 
List< SongPackSongPacks = new List<SongPack>()
 
List< GameObjectCategoryGameObjectShapes = new List<GameObjectCategory>()
 
Dictionary< Vector2Int, GameObjectCategory.GameObjectShapeGameObjectShapesDictionary = new Dictionary<Vector2Int, GameObjectCategory.GameObjectShape>()
 
LevelRanksClass LevelRanks
 
DifficultiesClass Difficulties
 
List< LinkTypelinkTypes
 
Dictionary< Game, string > gameTypes
 
AnimationCurve InstantEaseOut
 
AnimationCurve InstantEaseIn
 
List< LSAnimationAnimationList = new List<LSAnimation>()
 
Dictionary< int, LSAnimationAnimationListDictionary = new Dictionary<int, LSAnimation>()
 
Dictionary< string, LSAnimationAnimationListDictionaryStr = new Dictionary<string, LSAnimation>()
 
Dictionary< LSAnimation, int > AnimationListDictionaryBack = new Dictionary<LSAnimation, int>()
 
Dictionary< LSAnimation, string > AnimationListDictionaryStrBack = new Dictionary<LSAnimation, string>()
 
List< BeatmapThemeBeatmapThemes = new List<BeatmapTheme>()
 
List< BeatmapThemeCustomBeatmapThemes = new List<BeatmapTheme>()
 
List< BeatmapThemeExternalBeatmapThemes = new List<BeatmapTheme>()
 
Dictionary< string, BeatmapThemeBeatmapIDToTheme = new Dictionary<string, BeatmapTheme>()
 
PrefabTypesClass PrefabTypes
 
MetaData metaData = new MetaData()
 
GameData gameData = new GameData()
 

Static Public Attributes

const string DEFAULT_ANIMATION = "Linear"
 
const int MAX_PARALLAX_DEPTH = 1000
 
const int MAX_PARALLAX_LAYERS = 5
 
const int MAX_BINS = 14
 
const int MAX_DEPTH = 60
 
const int DEFAULT_DEPTH = 20
 
const int SECONDS = 60
 
const int BEAT_DIVISIONS = 4
 
const int FPS_DIVISIONS = 60
 
const decimal FPS_MIN = (decimal.One / (decimal)FPS_DIVISIONS)
 
static string LEGACY_VERSION = "20.4.4"
 
const string versionNumber = "24.8.4"
 
const int appID = 440310
 
static bool hasLoadedArcade = false
 
static DataManager inst
 

Properties

List< BeatmapThemeAllThemes [get]
 

Private Member Functions

void OnEnable ()
 
void Awake ()
 

Private Attributes

bool debug = false
 
System.Text.StringBuilder sb = new System.Text.StringBuilder()
 
string settingPrefix = "pa_"
 
string className = "[<color=#4CAF50>DataManager</color>] \n"
 
System.Globalization.CultureInfo customCulture = new System.Globalization.CultureInfo("en-US")
 
System.Threading.Thread mainThread
 

Member Function Documentation

◆ GetSettingVector2D()

Vector2 DataManager.GetSettingVector2D ( string _setting)

Get's a Vector2D player setting.

Parameters
settingThe name of the setting.
Returns
A Vector2D of the wanted player setting.

◆ GetSettingVector2DIndex()

int DataManager.GetSettingVector2DIndex ( string _setting)

Get's a Vector2D player setting.

Parameters
settingThe name of the setting.
Returns
A Vector2D of the wanted player setting.

◆ ParseMetadata()

MetaData DataManager.ParseMetadata ( string _metadata,
bool _setActive = true,
bool _isLegacy = true )

Parse all the metadata data.

Parameters
_metadataThe root JSONNode for the metadata.

◆ UpdateSettingVector2D() [1/2]

void DataManager.UpdateSettingVector2D ( string _setting,
int _index,
Vector2[] _values )

Update a Vector2D player setting.

Parameters
settingThe name of the setting.
indexThe index of the Vector2D setting.
valuesThe array of values.

◆ UpdateSettingVector2D() [2/2]

void DataManager.UpdateSettingVector2D ( string _setting,
int _index,
Vector2Int[] _values )

Update a Vector2D player setting.

Parameters
settingThe name of the setting.
indexThe index of the Vector2D setting.
valuesThe array of values.

Member Data Documentation

◆ gameTypes

Dictionary<Game, string> DataManager.gameTypes
Initial value:
= new Dictionary<Game, string>(){
{ Game.Custom, null },
{ Game.ADOFAI, "https://store.steampowered.com/app/977950/A_Dance_of_Fire_and_Ice" },
{ Game._1000xRESIST, "https://store.steampowered.com/app/1675830/1000xRESIST" }
}

◆ linkTypes

List<LinkType> DataManager.linkTypes
Initial value:
= new List<LinkType>() {
new LinkType("Spotify", "https://open.spotify.com/artist/{0}"),
new LinkType("SoundCloud", "https://soundcloud.com/{0}"),
new LinkType("Bandcamp", "https://{0}.bandcamp.com"),
new LinkType("Youtube Music", "https://music.youtube.com/channel/{0}"),
new LinkType("Newgrounds", "https://{0}.newgrounds.com/")
}

The documentation for this class was generated from the following file: