public static EditorTexture Load(string name, CommunityEditorPath path) { if (collection.ContainsKey(name)) { return(GetStateTexture(name)); } var _path = string.Empty; var multiTex = new MultiTexture(); switch (path) { case CommunityEditorPath.Root: _path = CommunityEditorFolder + "Resources/"; break; case CommunityEditorPath.Fundamentals: _path = FundamentalsEditorFolder + "Resources/"; break; case CommunityEditorPath.Events: _path = EventsEditorFolder + "Resources/"; break; } multiTex.personal = EditorTexture.Single(AssetDatabase.LoadAssetAtPath <Texture2D>(_path + name + ".png")); multiTex.pro = EditorTexture.Single(AssetDatabase.LoadAssetAtPath <Texture2D>(_path + name + "@Pro.png")); collection.Add(name, multiTex); return(GetStateTexture(name)); }
private static UniTask CreateTexture(ResourceFile file, FbxSemanticsUnsafe <SkinnedVertex> fbx, Model3D model) { // ↓ main thread -------------------------------------- var screen = model.GetValidScreen(); Debug.Assert(Engine.CurrentContext == screen); var texture = new MultiTexture(); model.AddComponent(texture); using var textureLoader = texture.GetLoaderContext(fbx.Textures.Length); try { for (int i = 0; i < fbx.Textures.Length; i++) { var texPath = fbx.Textures[i]; var path = texPath.ToString().Replace('\\', '/'); Debug.WriteLine(path); continue; // TODO: パスの解決 //var name = path; //using var image = await file.ResourceLoader.LoadImageAsync(name, screen.AsyncBack, FrameTiming.Update); //textureLoader.Load(i, image); } } catch { (texture as IDisposable).Dispose(); throw; } return(UniTask.CompletedTask); }
public TileMap(string name, DrawLayer renderOrder, Vector3 tileSize, uint width, uint height, IPaletteManager paletteManager) { RenderOrder = renderOrder; TileSize = tileSize; Width = width; Height = height; Tiles = new Tile[width * height]; Floors = new MultiTexture("FloorTiles:" + name, paletteManager); Walls = new MultiTexture("WallTiles:" + name, paletteManager); }
public static void CoreSprites(IAssetManager assets, string baseDir) { var dir = $@"{baseDir}\data\exported\MAIN.EXE"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } // Dump all core sprites var palette = assets.LoadPalette(PaletteId.Inventory); for (int i = 0; i < 86; i++) { var name = $"{i}_{(CoreSpriteId)i}"; var coreSprite = assets.LoadTexture((CoreSpriteId)i); var multiTexture = new MultiTexture(name, new DummyPaletteManager(palette)); multiTexture.AddTexture(1, coreSprite, 0, 0, null, false); multiTexture.SavePng(1, 0, $@"{dir}\{name}.bmp"); } }
public static Texture2D Load(string collection, string name, string rootFileName) { if (!collections.ContainsKey(collection)) { collections.Add(collection, new Dictionary <string, MultiTexture>()); } if (collections[collection].ContainsKey(name)) { return(GetStateTexture(collection, name)); } var path = PathOf(rootFileName) + "Resources/Icons/"; var multiTex = new MultiTexture(); multiTex.personal = AssetDatabase.LoadAssetAtPath <Texture2D>(path + name + ".png"); multiTex.pro = AssetDatabase.LoadAssetAtPath <Texture2D>(path + name + "@Pro.png"); collections[collection].Add(name, multiTex); return(GetStateTexture(collection, name)); }