/// <summary>
 /// Returns whether the shinespark tech is enabled.
 /// </summary>
 /// <returns></returns>
 public bool CanShinespark()
 {
     return(LogicalOptions.IsTechEnabled(Techs["canShinespark"]));
 }
Beispiel #2
0
 /// <summary>
 /// Reads all sm-json-data json files, from the provided base directory, and builds a SuperMetroidModel.
 /// </summary>
 /// <param name="baseDirectory">A path to the base directory of the data model to read</param>
 /// <param name="rules">A repository of game rules to operate by.</param>
 /// <param name="logicalOptions">A container of logical options to go with the representation of the world.</param>
 /// <param name="startConditionsFactory">An object that can create the player's starting conditions for this representation of the world.</param>
 /// <param name="initialize">If true, pre-processes a lot of data to initialize additional properties in many objects within the returned model.
 /// If false, the objects in the returned model will contain mostly just raw data.</param>
 /// <param name="overrideTypes">A sequence of tuples, pairing together an ObjectLogicalElementTypeEnum and the C# type that should be used to
 /// to represent that ObjectLogicalElementTypeEnum when deserializing logical requirements from a json file.
 /// The provided C# types must extend the default type that is normally used for any given ObjectLogicalElementTypeEnum.</param>
 /// <returns>The generated SuperMetroidModel</returns>
 public static SuperMetroidModel ReadModel(string baseDirectory, SuperMetroidRules rules, LogicalOptions logicalOptions, IStartConditionsFactory startConditionsFactory,
                                           bool initialize = true, IEnumerable <(ObjectLogicalElementTypeEnum typeEnum, Type type)> overrideTypes = null)