FrameIT
IJSONsavable< T > Interface Template Reference

Public Member Functions

virtual string _IJGetName (string name)
 
virtual List< Directories > _IJGetHierarchie (List< Directories > hierarchie_base)
 
virtual bool _IJGetRawObject (out T payload, string path)
 
virtual T _IJPreProcess (T payload)
 
virtual T _IJPostProcess (T payload)
 
bool store (List< Directories > hierarchie, string name, bool use_install_folder=false, bool overwrite=true, bool deep_store=true)
 
bool store_children (List< Directories > hierarchie, string name, bool use_install_folder=false, bool overwrite=true, bool deep_store=true)
 

Static Public Member Functions

static bool store (List< Directories > hierarchie, string name, T payload, bool use_install_folder=false, bool overwrite=true, bool deep_store=true)
 
static bool store_children (List< Directories > hierarchie, string name, T payload, bool use_install_folder=false, bool overwrite=true, bool deep_store=true)
 
static bool load_children (List< Directories > hierarchie, string name, ref T raw_payload, bool use_install_folder=false, bool deep_load=true, bool post_process=true)
 
static bool load (List< Directories > hierarchie, string name, out T payload, bool use_install_folder=false, bool deep_load=true, bool post_process=true)
 
static T postprocess (T payload)
 
static T preprocess (T payload)
 
static void delete_children (List< Directories > hierarchie, string name, bool use_install_folder=false, int skip_last_children=0)
 
static bool delete (List< Directories > hierarchie, string name, bool use_install_folder=false)
 

Static Public Attributes

static readonly IJSONsavable< T > Instance = new T()
 
static readonly FieldInfo[] JsonSaveableFields
 
static readonly FieldInfo[] JsonAutoPreProcessFields
 
static readonly FieldInfo[] JsonAutoPostProcessFields
 
static readonly FieldInfo[] JsonSeperateFields
 

Static Protected Attributes

static List< Directories > hierarchie = new List<Directories> { Directories.misc }
 

Properties

string name [getset]
 
string path [getset]
 

Static Private Member Functions

static bool delete (string path)
 

Member Function Documentation

◆ _IJGetHierarchie()

virtual List< Directories > IJSONsavable< T >._IJGetHierarchie ( List< Directories >  hierarchie_base)
virtual

◆ _IJGetName()

virtual string IJSONsavable< T >._IJGetName ( string  name)
virtual

Implemented in SolutionRecorder, and Stage.SaveGame.

◆ _IJGetRawObject()

virtual bool IJSONsavable< T >._IJGetRawObject ( out T  payload,
string  path 
)
virtual

◆ _IJPostProcess()

virtual T IJSONsavable< T >._IJPostProcess ( payload)
virtual

◆ _IJPreProcess()

virtual T IJSONsavable< T >._IJPreProcess ( payload)
virtual

◆ delete() [1/2]

static bool IJSONsavable< T >.delete ( List< Directories >  hierarchie,
string  name,
bool  use_install_folder = false 
)
static

◆ delete() [2/2]

static bool IJSONsavable< T >.delete ( string  path)
staticprivate

◆ delete_children()

static void IJSONsavable< T >.delete_children ( List< Directories >  hierarchie,
string  name,
bool  use_install_folder = false,
int  skip_last_children = 0 
)
static

◆ load()

static bool IJSONsavable< T >.load ( List< Directories >  hierarchie,
string  name,
out T  payload,
bool  use_install_folder = false,
bool  deep_load = true,
bool  post_process = true 
)
static

◆ load_children()

static bool IJSONsavable< T >.load_children ( List< Directories >  hierarchie,
string  name,
ref T  raw_payload,
bool  use_install_folder = false,
bool  deep_load = true,
bool  post_process = true 
)
static

◆ postprocess()

static T IJSONsavable< T >.postprocess ( payload)
static

◆ preprocess()

static T IJSONsavable< T >.preprocess ( payload)
static

◆ store() [1/2]

bool IJSONsavable< T >.store ( List< Directories >  hierarchie,
string  name,
bool  use_install_folder = false,
bool  overwrite = true,
bool  deep_store = true 
)

◆ store() [2/2]

static bool IJSONsavable< T >.store ( List< Directories >  hierarchie,
string  name,
payload,
bool  use_install_folder = false,
bool  overwrite = true,
bool  deep_store = true 
)
static

◆ store_children() [1/2]

bool IJSONsavable< T >.store_children ( List< Directories >  hierarchie,
string  name,
bool  use_install_folder = false,
bool  overwrite = true,
bool  deep_store = true 
)

◆ store_children() [2/2]

static bool IJSONsavable< T >.store_children ( List< Directories >  hierarchie,
string  name,
payload,
bool  use_install_folder = false,
bool  overwrite = true,
bool  deep_store = true 
)
static

Member Data Documentation

◆ hierarchie

List<Directories> IJSONsavable< T >.hierarchie = new List<Directories> { Directories.misc }
staticprotected

◆ Instance

readonly IJSONsavable<T> IJSONsavable< T >.Instance = new T()
static

◆ JsonAutoPostProcessFields

readonly FieldInfo [] IJSONsavable< T >.JsonAutoPostProcessFields
static
Initial value:
=
typeof(T)
.GetFields(
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Static)
.Where((field)
=> !field.GetCustomAttributes().Any((attribute)
=> attribute.GetType() == typeof(JsonIgnoreAttribute))
&& field.GetCustomAttributes().Any((attribute)
=> attribute.GetType() == typeof(JSONsavable.JsonAutoPostProcessAttribute))
&& field.FieldType.GetInterfaces().Any((inter)
=> inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IJSONsavable<>)))
.ToArray()
Definition: IJSONsavable.cs:335
Definition: IJSONsavable.cs:330
Definition: IJSONsavable.cs:14

◆ JsonAutoPreProcessFields

readonly FieldInfo [] IJSONsavable< T >.JsonAutoPreProcessFields
static
Initial value:
=
typeof(T)
.GetFields(
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Static)
.Where((field)
=> !field.GetCustomAttributes().Any((attribute)
=> attribute.GetType() == typeof(JsonIgnoreAttribute))
&& field.GetCustomAttributes().Any((attribute)
=> attribute.GetType() == typeof(JSONsavable.JsonAutoPreProcessAttribute))
&& field.FieldType.GetInterfaces().Any((inter)
=> inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IJSONsavable<>)))
.ToArray()
Definition: IJSONsavable.cs:338

◆ JsonSaveableFields

readonly FieldInfo [] IJSONsavable< T >.JsonSaveableFields
static
Initial value:
=
typeof(T)
.GetFields(
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Static)
.Where((field)
=> !field.GetCustomAttributes().Any((attribute)
=> attribute.GetType() == typeof(JsonIgnoreAttribute))
&& field.FieldType.GetInterfaces().Any((inter)
=> inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IJSONsavable<>)))
.ToArray()

◆ JsonSeperateFields

readonly FieldInfo [] IJSONsavable< T >.JsonSeperateFields
static
Initial value:
=
typeof(T)
.GetFields(
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Static)
.Where((field)
=> field.GetCustomAttributes().Any((attribute)
=> attribute.GetType() == typeof(JSONsavable.JsonSeparateAttribute))
&& field.FieldType.GetInterfaces().Any((inter)
=> inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IJSONsavable<>)))
.ToArray()
Definition: IJSONsavable.cs:332

Property Documentation

◆ name

string IJSONsavable< T >.name
getset

◆ path

string IJSONsavable< T >.path
getset

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