Elin Decompiled Documentation EA 23.333 Myaightly Patch 1
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 text = currentData.path + ".pref";
48 if (!File.Exists(text))
49 {
50 (currentData.pref ?? chara.Pref).WriteIni(text);
51 }
52 SE.Click();
53 Util.Run(text);
54 }
55
56 public void RefreshList()
57 {
58 list.Clear();
59 list.callbacks = new UIList.Callback<SpriteData, UIButton>
60 {
61 onClick = delegate(SpriteData a, UIButton b)
62 {
63 list.Select(a);
64 SE.Click();
65 chara.c_idSpriteReplacer = Path.GetFileName(a.path);
67 RefreshImage(a);
68 },
69 onRedraw = delegate(SpriteData a, UIButton b, int i)
70 {
71 b.mainText.SetText(Path.GetFileName(a.path));
72 a.Init();
73 b.icon.sprite = a.GetSprite();
74 b.icon.SetNativeSize();
75 b.tooltip.lang = a.path;
76 },
77 onList = delegate
78 {
79 List<SpriteReplacer> obj = SpriteReplacer.ListSkins().Values.ToList();
80 obj.Sort((SpriteReplacer a, SpriteReplacer b) => Lang.comparer.Compare(a.data.path, b.data.path));
81 foreach (SpriteReplacer item in obj)
82 {
83 list.Add(item.data);
84 }
85 }
86 };
87 list.List();
88 }
89
90 private void OnApplicationFocus(bool focus)
91 {
92 if (focus && currentData != null)
93 {
95 }
96 }
97}
Definition: Chara.cs:10
override SourcePref Pref
Definition: Chara.cs:805
override Sprite GetSprite(int dir=0)
Definition: Chara.cs:7040
SpriteReplacer spriteReplacer
Definition: Chara.cs:158
override CardRenderer _CreateRenderer()
Definition: Chara.cs:6990
Definition: ELayer.cs:4
Definition: Lang.cs:7
static NaturalStringComparer comparer
Definition: Lang.cs:23
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:34
string path
Definition: SpriteData.cs:12
Sprite GetSprite()
Definition: SpriteData.cs:120
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:163
static void SetDirty()