public AssetService(AssetReferences references) { _prefabs = new IntMap <GameObject>(references.Prefabs); _sprites = new IntMap <Sprite>(references.Sprites); _materials = new IntMap <Material>(references.Materials); _fonts = new IntMap <Font>(references.Fonts); }
private static void GenerateAssetReferences(CodeGenerator codeGenerator, AssetReferences assetReferences) { var path = Path.GetFullPath(Path.Combine(codeGenerator.ConstantsPath, "Assets.hs")); using (var stream = new StreamWriter(path)) { stream.WriteLine("module " + codeGenerator.ModulePrefix + ".Assets where\n"); stream.WriteLine("newtype Prefab = Prefab Int"); stream.WriteLine("newtype Sprite = Sprite Int"); stream.WriteLine("newtype Material = Material Int"); stream.WriteLine("newtype Font = Font Int\n"); for (var i = 0; i < assetReferences.Prefabs.Count; ++i) { var name = NormalizeName(assetReferences.Prefabs[i].name); stream.WriteLine(name + " :: Prefab"); stream.WriteLine(name + " = Prefab " + i + "\n"); } for (var i = 0; i < assetReferences.Sprites.Count; ++i) { var name = NormalizeName(assetReferences.Sprites[i].name); stream.WriteLine(name + " :: Sprite"); stream.WriteLine(name + " = Sprite " + i + "\n"); } for (var i = 0; i < assetReferences.Materials.Count; ++i) { var name = NormalizeName(assetReferences.Materials[i].name); stream.WriteLine(name + " :: Material"); stream.WriteLine(name + " = Material " + i + "\n"); } for (var i = 0; i < assetReferences.Fonts.Count; ++i) { var name = NormalizeName(assetReferences.Materials[i].name); stream.WriteLine(name + " :: Font"); stream.WriteLine(name + " = Font " + i + "\n"); } } }