Elin Decompiled Documentation EA 23.200 Stable
Loading...
Searching...
No Matches
LayerEditSkin.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.IO;
3using System.Linq;
4using UnityEngine.UI;
5
6public class LayerEditSkin : ELayer
7{
8 public Image imageSkin;
9
10 public Chara chara;
11
13
15
16 public void Activate(Chara _chara)
17 {
18 chara = _chara;
21 }
22
23 public void RefreshImage(SpriteData data = null)
24 {
25 data?.LoadPref();
26 imageSkin.sprite = chara.GetSprite();
27 imageSkin.SetNativeSize();
30 }
31
32 public void OnClickClear()
33 {
34 SE.Trash();
35 chara.c_idSpriteReplacer = null;
38 }
39
40 public void OnClickEdit()
41 {
42 if (currentData == null)
43 {
44 SE.Beep();
45 return;
46 }
47 string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(currentData.path);
48 string text = CorePath.custom + "Skin/" + fileNameWithoutExtension + ".pref";
49 if (!File.Exists(text))
50 {
51 (currentData.pref ?? chara.Pref).WriteIni(text);
52 }
53 SE.Click();
54 Util.Run(text);
55 }
56
57 public void RefreshList()
58 {
59 list.Clear();
60 list.callbacks = new UIList.Callback<SpriteData, UIButton>
61 {
62 onClick = delegate(SpriteData a, UIButton b)
63 {
64 list.Select(a);
65 SE.Click();
66 chara.c_idSpriteReplacer = Path.GetFileName(a.path);
68 RefreshImage(a);
69 },
70 onRedraw = delegate(SpriteData a, UIButton b, int i)
71 {
72 b.mainText.SetText(Path.GetFileName(a.path));
73 a.Init();
74 b.icon.sprite = a.GetSprite();
75 b.icon.SetNativeSize();
76 b.tooltip.lang = a.path;
77 },
78 onList = delegate
79 {
80 List<SpriteReplacer> obj = SpriteReplacer.ListSkins().Values.ToList();
81 obj.Sort((SpriteReplacer a, SpriteReplacer b) => Lang.comparer.Compare(a.data.path, b.data.path));
82 foreach (SpriteReplacer item in obj)
83 {
84 list.Add(item.data);
85 }
86 }
87 };
88 list.List();
89 }
90
91 private void OnApplicationFocus(bool focus)
92 {
93 if (focus && currentData != null)
94 {
96 }
97 }
98}
Definition: Chara.cs:10
override SourcePref Pref
Definition: Chara.cs:785
override Sprite GetSprite(int dir=0)
Definition: Chara.cs:6456
SpriteReplacer spriteReplacer
Definition: Chara.cs:152
override CardRenderer _CreateRenderer()
Definition: Chara.cs:6407
Definition: ELayer.cs:4
Definition: Lang.cs:6
static NaturalStringComparer comparer
Definition: Lang.cs:22
void RefreshList()
void OnClickEdit()
void RefreshImage(SpriteData data=null)
SpriteData currentData
void Activate(Chara _chara)
void OnClickClear()
UIDynamicList list
void OnApplicationFocus(bool focus)
void Init()
Definition: SpriteData.cs:31
string path
Definition: SpriteData.cs:17
Sprite GetSprite(bool snow=false)
Definition: SpriteData.cs:67
SpriteData data
static Dictionary< string, SpriteReplacer > ListSkins()
Image icon
Definition: UIButton.cs:110
UIText mainText
Definition: UIButton.cs:102
override void List()
override void Add(object o)
bool Select(object o, bool invoke=false)
override void Clear()
Definition: UIList.cs:9
void SetText(string s)
Definition: UIText.cs:159
static void SetDirty()