Elin Decompiled Documentation EA 23.185 Nightly Patch 1
Loading...
Searching...
No Matches
SpriteData Class Reference

Public Member Functions

void Init ()
 
Sprite[] GetSprites ()
 
void LoadPref ()
 
Sprite GetSprite (bool snow=false)
 
void Validate ()
 
void Load (bool dateMatched, ref Texture2D tex, ref Sprite[] sprites, string suffix)
 

Public Attributes

DateTime date
 
Texture2D tex
 
Texture2D texSnow
 
string path
 
Sprite[] sprites
 
Sprite[] spritesSnow
 
SourcePref pref
 
int frame = 1
 
int scale = 50
 
float time = 0.2f
 

Detailed Description

Definition at line 9 of file SpriteData.cs.

Member Function Documentation

◆ GetSprite()

Sprite SpriteData.GetSprite ( bool  snow = false)
inline

Definition at line 67 of file SpriteData.cs.

68 {
69 Validate();
70 if (!snow || spritesSnow == null)
71 {
72 return sprites[0];
73 }
74 return spritesSnow[0];
75 }
Sprite[] sprites
Definition: SpriteData.cs:19
Sprite[] spritesSnow
Definition: SpriteData.cs:21
void Validate()
Definition: SpriteData.cs:77

References sprites, spritesSnow, and Validate().

Referenced by Chara.GetSprite(), RenderRow.GetSprite(), LayerEditSkin.RefreshList(), SpriteReplacerAnimation.SetData(), and CharaRenderer.SetOwner().

◆ GetSprites()

Sprite[] SpriteData.GetSprites ( )
inline

Definition at line 52 of file SpriteData.cs.

53 {
54 Validate();
55 return sprites;
56 }

References sprites, and Validate().

Referenced by CardActor.OnRender(), and SpriteReplacerAnimation.Refresh().

◆ Init()

void SpriteData.Init ( )
inline

Definition at line 31 of file SpriteData.cs.

32 {
33 try
34 {
35 if (File.Exists(path + ".ini"))
36 {
37 IniData iniData = new FileIniDataParser().ReadFile(path + ".ini", Encoding.UTF8);
38 frame = int.Parse(iniData.GetKey("frame") ?? "1");
39 scale = int.Parse(iniData.GetKey("scale") ?? "50");
40 time = float.Parse(iniData.GetKey("time") ?? "0.2", CultureInfo.InvariantCulture);
41 }
42 }
43 catch (Exception message)
44 {
45 Debug.Log(message);
46 Debug.Log("exception: Failed to parse:" + path + ".ini");
47 time = 0.2f;
48 scale = 50;
49 }
50 }
string path
Definition: SpriteData.cs:17
float time
Definition: SpriteData.cs:29

References Debug, frame, path, scale, and time.

Referenced by SpriteReplacer.HasSprite(), SpriteReplacer.ListSkins(), LayerEditSkin.RefreshList(), and SpriteReplacerAnimation.SetData().

◆ Load()

void SpriteData.Load ( bool  dateMatched,
ref Texture2D  tex,
ref Sprite[]  sprites,
string  suffix 
)
inline

Definition at line 92 of file SpriteData.cs.

93 {
94 if (dateMatched && (bool)tex)
95 {
96 return;
97 }
98 if ((bool)tex)
99 {
100 Texture2D texture2D = IO.LoadPNG(path + suffix + ".png");
101 if (texture2D.width != tex.width || texture2D.height != tex.height)
102 {
103 Debug.Log(texture2D.width + "/" + texture2D.height + "/" + path);
104 tex.Reinitialize(texture2D.width, texture2D.height);
105 }
106 tex.SetPixels32(texture2D.GetPixels32());
107 tex.Apply();
108 UnityEngine.Object.Destroy(texture2D);
109 }
110 else
111 {
112 tex = IO.LoadPNG(path + suffix + ".png");
113 int num = tex.width / frame;
114 int height = tex.height;
115 sprites = new Sprite[frame];
116 for (int i = 0; i < frame; i++)
117 {
118 sprites[i] = Sprite.Create(tex, new Rect(i * num, 0f, num, height), new Vector2(0.5f, 0.5f), 100f, 0u, SpriteMeshType.FullRect);
119 }
120 }
121 LoadPref();
122 }
Definition: IO.cs:11
static Texture2D LoadPNG(string _path, FilterMode filter=FilterMode.Point)
Definition: IO.cs:421
Texture2D tex
Definition: SpriteData.cs:13
void LoadPref()
Definition: SpriteData.cs:58

References Debug, frame, LoadPref(), path, sprites, and tex.

Referenced by Validate().

◆ LoadPref()

void SpriteData.LoadPref ( )
inline

Definition at line 58 of file SpriteData.cs.

59 {
60 pref = null;
61 if (File.Exists(path + ".pref"))
62 {
63 pref = SourcePref.ReadFromIni(path + ".pref");
64 }
65 }
static SourcePref ReadFromIni(string path)
Definition: SourcePref.cs:373
SourcePref pref
Definition: SpriteData.cs:23

References path, pref, and SourcePref.ReadFromIni().

Referenced by Load().

◆ Validate()

void SpriteData.Validate ( )
inline

Definition at line 77 of file SpriteData.cs.

78 {
79 DateTime lastWriteTime = File.GetLastWriteTime(path + ".png");
80 bool flag = date.Year != 1 && date == lastWriteTime;
81 if (!flag)
82 {
83 Load(flag, ref tex, ref sprites, "");
84 if (File.Exists(path + "_snow.png"))
85 {
86 Load(flag, ref texSnow, ref spritesSnow, "_snow");
87 }
88 date = lastWriteTime;
89 }
90 }
DateTime date
Definition: SpriteData.cs:11
Texture2D texSnow
Definition: SpriteData.cs:15
void Load(bool dateMatched, ref Texture2D tex, ref Sprite[] sprites, string suffix)
Definition: SpriteData.cs:92

References date, Load(), path, sprites, spritesSnow, tex, and texSnow.

Referenced by GetSprite(), and GetSprites().

Member Data Documentation

◆ date

DateTime SpriteData.date

Definition at line 11 of file SpriteData.cs.

Referenced by Validate().

◆ frame

int SpriteData.frame = 1

Definition at line 25 of file SpriteData.cs.

Referenced by Init(), Load(), CardActor.OnRender(), and SpriteReplacerAnimation.Refresh().

◆ path

string SpriteData.path

◆ pref

SourcePref SpriteData.pref

Definition at line 23 of file SpriteData.cs.

Referenced by LoadPref().

◆ scale

int SpriteData.scale = 50

Definition at line 27 of file SpriteData.cs.

Referenced by Init().

◆ sprites

Sprite [] SpriteData.sprites

Definition at line 19 of file SpriteData.cs.

Referenced by GetSprite(), GetSprites(), Load(), CardActor.OnRender(), and Validate().

◆ spritesSnow

Sprite [] SpriteData.spritesSnow

Definition at line 21 of file SpriteData.cs.

Referenced by GetSprite(), CardActor.OnRender(), and Validate().

◆ tex

Texture2D SpriteData.tex

Definition at line 13 of file SpriteData.cs.

Referenced by Load(), and Validate().

◆ texSnow

Texture2D SpriteData.texSnow

Definition at line 15 of file SpriteData.cs.

Referenced by Validate().

◆ time

float SpriteData.time = 0.2f

Definition at line 29 of file SpriteData.cs.

Referenced by Init(), CardActor.OnRender(), and SpriteReplacerAnimation.SetData().


The documentation for this class was generated from the following file: