2using System.Collections.Generic;
9 public static Dictionary<string, SpriteReplacer>
dictSkins =
new Dictionary<string, SpriteReplacer>();
11 public static Dictionary<string, string>
dictModItems =
new Dictionary<string, string>();
13 public static Dictionary<string, string>
dictTextureItems =
new Dictionary<string, string>();
17 public Dictionary<string, SpriteData>
suffixes =
new Dictionary<string, SpriteData>();
19 public Dictionary<string, bool>
isChecked =
new Dictionary<string, bool>();
21 public static Dictionary<string, SpriteReplacer>
ListSkins()
23 List<string> list =
new List<string>();
24 foreach (KeyValuePair<string, SpriteReplacer> dictSkin
in dictSkins)
26 if (!File.Exists(dictSkin.Value.data.path +
".png"))
28 list.Add(dictSkin.Key);
31 foreach (
string item in list)
35 Dictionary<string, string> dictionary =
new DirectoryInfo(
CorePath.
custom +
"Skin").GetFiles(
"*.png").ToDictionary((FileInfo f) => Path.GetFileNameWithoutExtension(f.Name), (FileInfo f) => Path.ChangeExtension(f.FullName,
null));
37 foreach (KeyValuePair<string, string> item2
in dictionary)
39 item2.Deconstruct(out var key, out key2);
53 foreach (KeyValuePair<string, SpriteReplacer> dictSkin2
in dictSkins)
55 dictSkin2.Deconstruct(out key2, out var value);
57 value.BuildSuffixData(
id, dictionary);
64 if (!
suffixes.TryGetValue(suffix, out var value))
68 return value.GetSprite();
71 public Sprite
GetSprite(
int dir,
int skin,
bool snow)
73 foreach (
string item in new List<string>
75 $"_skin{skin}_dir{dir}",
86 if ((
object)sprite ==
null)
109 dictTextureItems =
new DirectoryInfo(
CorePath.
packageCore +
"Texture/Item").GetFiles(
"*.png").ToDictionary((FileInfo f) => Path.GetFileNameWithoutExtension(f.Name), (FileInfo f) => Path.ChangeExtension(f.FullName,
null));
114 foreach (var (text3, path) in dictTexItems)
116 if (text3.StartsWith(
id))
118 string text4 = text3[
id.Length..];
125 Debug.Log(
"#sprite replacer init '" + text4 +
"' at " + path.ShortPath());
147 if (text ==
null && renderData !=
null)
164 Debug.LogError(
"#sprite error fetching sprite replacer:" + ex);
static string packageCore
Dictionary< string, SpriteData > suffixes
static Dictionary< string, string > dictTextureItems
void ReloadBuiltInTextures()
bool HasSprite(string id, RenderData renderData=null)
Dictionary< string, bool > isChecked
void BuildSuffixData(string id, Dictionary< string, string > dictTexItems)
Sprite GetSprite(string suffix="")
static Dictionary< string, SpriteReplacer > dictSkins
void Reload(string id, RenderData renderData=null)
static Dictionary< string, string > dictModItems
Sprite GetSprite(int dir, int skin, bool snow)
static Dictionary< string, SpriteReplacer > ListSkins()