using CustomNPCFramework.Framework.Enums; using Microsoft.Xna.Framework; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CustomNPCFramework.Framework.Graphics { /// /// An expanded Asset info class that deals with seasons and genders. /// public class ExtendedAssetInfo :AssetInfo { /// /// The genders this part is associated with. 0=Male, 1=female, 2=other. /// public Genders gender; /// /// A list of seasons where this part can be displayed /// public List seasons=new List(); /// /// The part type to be used for this asset such as hair, eyes, etc. /// public PartType type; /// /// Constructor. /// public ExtendedAssetInfo() { this.seasons = new List(); } /// /// Constructor. /// /// /// /// /// The type of gender this asset will be associated with. /// The type of season this asset will be associated with. public ExtendedAssetInfo(string name, NamePairings StandingAssetPaths, NamePairings MovingAssetPaths, NamePairings SwimmingAssetPaths, NamePairings SittingAssetPaths, Vector2 assetSize, bool randomizeOnLoad, Genders Gender, List Season, PartType Type): base(name,StandingAssetPaths,MovingAssetPaths,SwimmingAssetPaths,SittingAssetPaths, assetSize, randomizeOnLoad) { this.gender = Gender; this.seasons = Season; if (this.seasons == null) this.seasons = new List(); this.type = Type; } /// /// Save the json to a certain location. /// /// public new void writeToJson(string path) { Class1.ModHelper.WriteJsonFile(path, this); } /// /// Read the json from a certain location. /// /// /// public new static ExtendedAssetInfo readFromJson(string path) { return Class1.ModHelper.ReadJsonFile(path); } } }