/// <summary> /// Returns an object with a tk2dSprite component with the /// texture of a file in the sprites folder /// </summary> public static GameObject SpriteFromFile(string spriteName, GameObject obj = null, bool copyFromExisting = true) { string filename = spriteName.Replace(".png", ""); var texture = ResourceExtractor.GetTextureFromFile(filename); if (texture == null) { return(null); } return(SpriteFromTexture(texture, spriteName, obj, copyFromExisting)); }
/// <summary> /// Adds a sprite (from a resource) to a collection /// </summary> /// <returns>The spriteID of the defintion in the collection</returns> public static int AddSpriteToCollection(string resourcePath, tk2dSpriteCollectionData collection) { string extension = !resourcePath.EndsWith(".png") ? ".png" : ""; resourcePath += extension; var texture = ResourceExtractor.GetTextureFromResource(resourcePath); //Get Texture var definition = ConstructDefinition(texture); //Generate definition definition.name = texture.name; //naming the definition is actually extremely important return(AddSpriteToCollection(definition, collection)); }
/// <summary> /// Returns an object with a tk2dSprite component with the /// texture of an embedded resource /// </summary> public static GameObject SpriteFromResource(string spriteName, GameObject obj = null, bool copyFromExisting = true) { string extension = !spriteName.EndsWith(".png") ? ".png" : ""; string resourcePath = spriteName + extension; var texture = ResourceExtractor.GetTextureFromResource(resourcePath); if (texture == null) { return(null); } return(SpriteFromTexture(texture, resourcePath, obj, copyFromExisting)); }
/// <summary> /// Sets the base assembly of the ResourceExtractor, so /// resources can be accessed /// </summary> public static void Init() { try { MethodBase method = new StackFrame(1, false).GetMethod(); var declaringType = method.DeclaringType; ResourceExtractor.SetAssembly(declaringType); ItemBuilder.sharedAssets = ResourceManager.LoadAssetBundle("shared_auto_001"); ItemBuilder.Shop_Key_Items_01 = ItemBuilder.sharedAssets.LoadAsset <GenericLootTable>("Shop_Key_Items_01"); ItemBuilder.Shop_Truck_Items_01 = ItemBuilder.sharedAssets.LoadAsset <GenericLootTable>("Shop_Truck_Items_01"); ItemBuilder.Shop_Curse_Items_01 = ItemBuilder.sharedAssets.LoadAsset <GenericLootTable>("Shop_Curse_Items_01"); ItemBuilder.Shop_Goop_Items_01 = ItemBuilder.sharedAssets.LoadAsset <GenericLootTable>("Shop_Goop_Items_01"); ItemBuilder.Shop_Blank_Items_01 = ItemBuilder.sharedAssets.LoadAsset <GenericLootTable>("Shop_Blank_Items_01"); ItemBuilder.ForgeDungeonPrefab = DungeonDatabase.GetOrLoadByName("Base_Forge"); ItemBuilder.BlacksmithShop = ItemBuilder.ForgeDungeonPrefab.PatternSettings.flows[0].AllNodes[10].overrideExactRoom; ItemBuilder.BlackSmith_Items_01 = (ItemBuilder.BlacksmithShop.placedObjects[8].nonenemyBehaviour as BaseShopController).shopItemsGroup2; } catch (Exception e) { ETGModConsole.Log(e.Message); ETGModConsole.Log(e.StackTrace); } }