Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
Portrait Class Reference
Inheritance diagram for Portrait:
UIButton IUISkin

Public Member Functions

void SetPerson (Person p)
 
void SetChara (Chara c, PCCData pccData=null)
 
Color GetRandomHairColor (Chara c)
 
void SetPortrait (string id, Color colorOverlay=default(Color), bool applyColorMod=true)
 
void SetPortrait (bool isPortrait, Sprite spritePortrait, Sprite spriteOverlay=null, Color colorOverlay=default(Color), Sprite spriteFull=null)
 
- Public Member Functions inherited from UIButton
virtual bool CanMiddleClick ()
 
virtual void OnMiddleClick (bool forceClick)
 
void SetItem (Item i)
 
virtual void RefreshItem ()
 
virtual void OnHover ()
 
void Toggle ()
 
void ToggleCheck ()
 
void SetCheck (bool check)
 
void SetToggle (bool isOn, Action< bool > onToggle=null)
 
void SetToggleWithScore (bool isOn, Action< bool > onToggle, int? score)
 
void SetTooltip (Action< UITooltip > onShowTooltip=null, bool enable=true)
 
void SetTooltip (string id, Action< UITooltip > onShowTooltip=null, bool enable=true)
 
void SetTooltipLang (string lang=null)
 
virtual void ShowTooltip ()
 
void ShowTooltipForced (bool ignoreWhenRightClick=true)
 
override void OnPointerDown (PointerEventData eventData)
 
override void OnPointerClick (PointerEventData eventData)
 
override void OnPointerUp (PointerEventData eventData)
 
void OnPointerUpOnDrag (PointerEventData eventData)
 
void _OnPress ()
 
void OnPress ()
 
void AddHighlight (Func< bool > killCondition)
 
void DoHighlightTransition (bool instant=false)
 
void DoNormalTransition (bool instant=true)
 
override Selectable FindSelectableOnDown ()
 
override Selectable FindSelectableOnUp ()
 
override Selectable FindSelectableOnLeft ()
 
override Selectable FindSelectableOnRight ()
 
void SetNavigation (UIButton up, UIButton down=null, UIButton left=null, UIButton right=null)
 
override bool IsActive ()
 
void SetInteractableWithAlpha (bool enable)
 
virtual void ApplySkin ()
 
void ApplySkin ()
 

Static Public Member Functions

static List< ModItem< Sprite > > ListPlayerPortraits (int gender, bool nullPortrait=false)
 
static List< ModItem< Sprite > > ListPortraits (string idDict)
 
static List< ModItem< Sprite > > ListPortraits (int gender, string cat)
 
static string GetRandomPortrait (string idDict)
 
static string GetRandomPortrait (int gender, string cat)
 
static bool Exists (string id)
 
- Static Public Member Functions inherited from UIButton
static void UpdateButtons ()
 
static void TryHihlight ()
 
static void TryShowTip (Transform root=null, bool highlight=true, bool ignoreWhenRightClick=true)
 
static void TryShowTip< T > (Transform root=null, bool highlight=true, bool ignoreWhenRightClick=true)
 

Public Attributes

Image portrait
 
Image overlay
 
Image imageChara
 
Image imageFaith
 
Image imageFull
 
Image imageFrame
 
Sprite spriteNoPortrait
 
bool enableFull = true
 
bool hideIfNoPortrait
 
bool fixSpritePos = true
 
bool showPortrait = true
 
float charaScale = 1f
 
- Public Attributes inherited from UIButton
UIText mainText
 
UIText subText
 
UIText subText2
 
UIText keyText
 
Image icon
 
Image imageCheck
 
Graphic[] targetGraphics
 
float scaleIcon = 1f
 
float slideX
 
float navigationFix
 
bool isChecked
 
bool instantClick = true
 
UISelectableGroup group
 
TooltipData tooltip
 
SoundData soundClick
 
SoundData soundHighlight
 
Transform animeTarget
 
Anime animeClick
 
Anime animeHold
 
ButtonType buttonType
 
BaseSkinRoot skinRoot
 
Action onDoubleClick
 
Action onRightClick
 
Action< int > onInputWheel
 
object refObj
 
int refInt
 
string refStr
 
bool animating
 
bool selected
 
Vector3 originalIconScale = Vector3.one
 
UIButton highlightTarget
 
Item item
 

Static Public Attributes

static ModItemList< Sprite > modPortraitBGFs = new ModItemList<Sprite>(3)
 
static ModItemList< Sprite > modPortraitBGs = new ModItemList<Sprite>(3)
 
static ModItemList< Sprite > modPortraits = new ModItemList<Sprite>(3)
 
static ModItemList< Sprite > modOverlays = new ModItemList<Sprite>(3)
 
static ModItemList< Sprite > modFull = new ModItemList<Sprite>(3)
 
static Dictionary< string, List< ModItem< Sprite > > > dictList = new Dictionary<string, List<ModItem<Sprite>>>()
 
static HashSet< string > allIds = new HashSet<string>()
 
- Static Public Attributes inherited from UIButton
static bool DoSlide
 
static bool locked
 
static UIButton lastButton
 
static UIButton lastHovered
 
static UIButton currentHighlight
 
static UIButton currentPressedButton
 
static float lastClicked
 
static float doubleClickTime = 0.4f
 
static Vector2 buttonPos
 
static Action onPressed
 
static List< UIButtonbuttons = new List<UIButton>()
 
static Action actionTooltip
 

Private Attributes

FilterMode filter
 

Additional Inherited Members

- Protected Member Functions inherited from UIButton
override void Awake ()
 
override void OnEnable ()
 
override void DoStateTransition (SelectionState state, bool instant)
 
- Properties inherited from UIButton
List< Graphic > Graphics [get]
 
virtual bool CanDragLeftButton [get]
 

Detailed Description

Definition at line 6 of file Portrait.cs.

Member Function Documentation

◆ Exists()

static bool Portrait.Exists ( string  id)
inlinestatic

Definition at line 115 of file Portrait.cs.

116 {
117 return modPortraits.dict.ContainsKey(id);
118 }
Dictionary< string, ModItem< T > > dict
Definition: ModItemList.cs:11
static ModItemList< Sprite > modPortraits
Definition: Portrait.cs:12

References ModItemList< T >.dict, and modPortraits.

◆ GetRandomHairColor()

Color Portrait.GetRandomHairColor ( Chara  c)
inline

Definition at line 205 of file Portrait.cs.

206 {
207 Rand.SetSeed(c.uid);
208 Color randomColor = PCCManager.current.GetBodySet("female").map["hair"].GetRandomColor();
209 Rand.SetSeed();
210 return randomColor;
211 }
int uid
Definition: Card.cs:118
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37

References Color, Rand.SetSeed(), and Card.uid.

Referenced by LayerEditPortrait.Activate(), and SetChara().

◆ GetRandomPortrait() [1/2]

static string Portrait.GetRandomPortrait ( int  gender,
string  cat 
)
inlinestatic

Definition at line 110 of file Portrait.cs.

111 {
112 return ListPortraits(gender, cat).RandomItem().id;
113 }
static List< ModItem< Sprite > > ListPortraits(string idDict)
Definition: Portrait.cs:59

References ListPortraits().

◆ GetRandomPortrait() [2/2]

static string Portrait.GetRandomPortrait ( string  idDict)
inlinestatic

Definition at line 105 of file Portrait.cs.

106 {
107 return ListPortraits(idDict).RandomItem().id;
108 }

References ListPortraits().

Referenced by Chara.ApplyEditorTags(), UICharaMaker.ListGender(), and Biography.SetPortrait().

◆ ListPlayerPortraits()

static List< ModItem< Sprite > > Portrait.ListPlayerPortraits ( int  gender,
bool  nullPortrait = false 
)
inlinestatic

Definition at line 48 of file Portrait.cs.

49 {
50 List<ModItem<Sprite>> list = ListPortraits(gender, "c").Concat(ListPortraits(gender, "guard")).Concat(ListPortraits(gender, "special")).Concat(ListPortraits(gender, "foxfolk"))
51 .ToList();
52 if (nullPortrait)
53 {
54 list.Insert(0, new ModItem<Sprite>(null));
55 }
56 return list;
57 }

References ListPortraits().

Referenced by LayerEditPCC.SetPortraitSlider().

◆ ListPortraits() [1/2]

static List< ModItem< Sprite > > Portrait.ListPortraits ( int  gender,
string  cat 
)
inlinestatic

Definition at line 77 of file Portrait.cs.

78 {
79 if (cat.IsEmpty())
80 {
81 cat = "c";
82 }
83 string key = cat + gender;
84 List<ModItem<Sprite>> list = dictList.TryGetValue(key);
85 if (list == null || list.Count == 0)
86 {
87 list = new List<ModItem<Sprite>>();
89 {
90 string[] array = item.id.Split('-')[0].Split('_');
91 if (!(array[0] != cat))
92 {
93 int num = ((array.Length > 1) ? ((array[1] == "m") ? 2 : ((array[1] == "f") ? 1 : 0)) : 0);
94 if (num == 0 || gender == 0 || gender == num)
95 {
96 list.Add(item);
97 }
98 }
99 }
100 dictList.Add(key, list);
101 }
102 return list;
103 }
List< ModItem< T > > list
Definition: ModItemList.cs:9
static Dictionary< string, List< ModItem< Sprite > > > dictList
Definition: Portrait.cs:18
Item item
Definition: UIButton.cs:172

References dictList, UIButton.item, ModItemList< T >.list, and modPortraits.

◆ ListPortraits() [2/2]

static List< ModItem< Sprite > > Portrait.ListPortraits ( string  idDict)
inlinestatic

Definition at line 59 of file Portrait.cs.

60 {
61 List<ModItem<Sprite>> list = dictList.TryGetValue(idDict);
62 if (list == null || list.Count == 0)
63 {
64 list = new List<ModItem<Sprite>>();
66 {
67 if (item.id.Contains(idDict))
68 {
69 list.Add(item);
70 }
71 }
72 dictList.Add(idDict, list);
73 }
74 return list;
75 }

References dictList, UIButton.item, ModItemList< T >.list, and modPortraits.

Referenced by GetRandomPortrait(), ListPlayerPortraits(), and LayerEditPortrait.RefreshList().

◆ SetChara()

void Portrait.SetChara ( Chara  c,
PCCData  pccData = null 
)
inline

Definition at line 138 of file Portrait.cs.

139 {
140 portrait.enabled = true;
141 overlay.enabled = true;
142 if ((bool)imageChara)
143 {
144 imageChara.sprite = c.GetSprite();
145 imageChara.SetNativeSize();
146 if (fixSpritePos)
147 {
148 imageChara.transform.localScale = (c.IsPCC ? new Vector3(1.3f, 1.4f, 1f) : new Vector3(1f, 1f, 1f)) * charaScale;
149 imageChara.rectTransform.pivot = (c.IsPCC ? new Vector2(0.5f, 0.4f) : new Vector2(0.5f, 0.2f));
150 imageChara.rectTransform.anchoredPosition = (c.IsPCC ? new Vector2(-25f, 20f) : new Vector2(-25f, 20f));
151 }
152 }
153 if ((bool)imageFaith)
154 {
155 imageFaith.sprite = c.faith.GetSprite();
156 }
157 if (c.GetIdPortrait().IsEmpty() || modPortraits.GetItem(c.GetIdPortrait(), returnNull: true) == null)
158 {
160 {
161 portrait.enabled = false;
162 overlay.enabled = false;
163 return;
164 }
165 if ((bool)spriteNoPortrait)
166 {
167 SetPortrait(isPortrait: false, spriteNoPortrait);
168 return;
169 }
170 SetPortrait(isPortrait: false, c.GetSprite());
172 portrait.transform.localScale = new Vector3(1f, 1f, 1f);
173 portrait.preserveAspect = true;
174 portrait.SetNativeSize();
175 portrait.Rect().SetAnchor(0.5f, 0f, 0.5f, 0f);
176 portrait.Rect().SetPivot(0.5f, 0f);
177 portrait.Rect().anchoredPosition = new Vector2(0f, 0f);
178 portrait.material = EClass.core.refs.matUIPortraitChara;
179 return;
180 }
181 if (pccData == null && c.isChara)
182 {
183 pccData = c.Chara.pccData;
184 }
185 Color colorOverlay = pccData?.GetHairColor(applyMod: true) ?? Color.white;
186 overlay.enabled = true;
187 if (pccData == null)
188 {
189 if (c.GetInt(105) != 0)
190 {
191 colorOverlay = IntColor.FromInt(c.GetInt(105));
192 }
193 else
194 {
195 colorOverlay = GetRandomHairColor(c);
196 if (c.id == "shojo")
197 {
198 overlay.enabled = false;
199 }
200 }
201 }
202 SetPortrait(c.GetIdPortrait(), colorOverlay);
203 }
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
virtual Chara Chara
Definition: Card.cs:1946
string id
Definition: Card.cs:31
void SetImage(Image image, int dir, int idSkin=0)
Definition: Card.cs:5355
override Sprite GetSprite(int dir=0)
Definition: Chara.cs:6046
override bool isChara
Definition: Chara.cs:671
Religion faith
Definition: Chara.cs:424
string GetIdPortrait()
Definition: Chara.cs:7334
PCCData pccData
Definition: Chara.cs:64
Material matUIPortraitChara
Definition: CoreRef.cs:391
CoreRef refs
Definition: Core.cs:51
Definition: EClass.cs:5
static Core core
Definition: EClass.cs:6
static Color32 FromInt(int i)
Definition: IntColor.cs:15
ModItem< T > GetItem(string id, bool returnNull=false)
Definition: ModItemList.cs:61
Sprite spriteNoPortrait
Definition: Portrait.cs:34
bool fixSpritePos
Definition: Portrait.cs:40
void SetPortrait(string id, Color colorOverlay=default(Color), bool applyColorMod=true)
Definition: Portrait.cs:213
Color GetRandomHairColor(Chara c)
Definition: Portrait.cs:205
Image imageFaith
Definition: Portrait.cs:28
Image portrait
Definition: Portrait.cs:22
bool hideIfNoPortrait
Definition: Portrait.cs:38
Image imageChara
Definition: Portrait.cs:26
float charaScale
Definition: Portrait.cs:44
Sprite GetSprite()
Definition: Religion.cs:72

References Card.Chara, charaScale, Color, EClass.core, Chara.faith, fixSpritePos, IntColor.FromInt(), Chara.GetIdPortrait(), BaseCard.GetInt(), ModItemList< T >.GetItem(), GetRandomHairColor(), Religion.GetSprite(), Chara.GetSprite(), hideIfNoPortrait, Card.id, imageChara, imageFaith, Chara.isChara, CoreRef.matUIPortraitChara, modPortraits, Chara.pccData, portrait, Core.refs, Card.SetImage(), SetPortrait(), and spriteNoPortrait.

Referenced by LayerEditPortrait.Activate(), UICharaMaker.EditPCC(), UICharaMaker.ListGender(), LayerEditPCC.OnClickChangePortrait(), UICharaMaker.OnClickChangePortrait(), LayerEditPortrait.OnClickClear(), WindowChara.OnClickPortrait(), LayerEditPortrait.RefreshList(), WindowChara.RefreshStatic(), UICharaMaker.RerollHair(), UICharaMaker.RerollPCC(), ButtonGeneral.SetCard(), ButtonRoster.SetChara(), UICharaMaker.SetChara(), ItemGachaResult.SetChara(), ButtonChara.SetChara(), and SetPerson().

◆ SetPerson()

void Portrait.SetPerson ( Person  p)
inline

Definition at line 120 of file Portrait.cs.

121 {
122 if (p.hasChara)
123 {
124 SetChara(p.chara);
125 }
126 else if (!p.idPortrait.IsEmpty())
127 {
129 SetPortrait(p.idPortrait, PCCManager.current.GetBodySet("female").map["hair"].GetRandomColor());
130 Rand.SetSeed();
131 }
132 else
133 {
134 SetPortrait(p.source.portrait);
135 }
136 }
SourcePerson.Row source
Definition: Person.cs:34
string idPortrait
Definition: Person.cs:11
bool hasChara
Definition: Person.cs:38
int uidChara
Definition: Person.cs:20
Chara chara
Definition: Person.cs:36
void SetChara(Chara c, PCCData pccData=null)
Definition: Portrait.cs:138

References Person.chara, Person.hasChara, Person.idPortrait, SetChara(), SetPortrait(), Rand.SetSeed(), Person.source, and Person.uidChara.

Referenced by ContentQuest.SelectQuest(), ItemQuest.SetQuest(), and DramaActor.Talk().

◆ SetPortrait() [1/2]

void Portrait.SetPortrait ( bool  isPortrait,
Sprite  spritePortrait,
Sprite  spriteOverlay = null,
Color  colorOverlay = default(Color),
Sprite  spriteFull = null 
)
inline

Definition at line 225 of file Portrait.cs.

226 {
227 filter = ((isPortrait && Core.Instance.config.test.aaPortrait) ? FilterMode.Bilinear : FilterMode.Point);
228 portrait.rectTransform.anchorMin = overlay.rectTransform.anchorMin;
229 portrait.rectTransform.anchorMax = overlay.rectTransform.anchorMax;
230 portrait.rectTransform.sizeDelta = overlay.rectTransform.sizeDelta;
231 if ((bool)spritePortrait)
232 {
233 portrait.sprite = spritePortrait;
234 FixTexture(spritePortrait);
235 }
236 if ((bool)overlay)
237 {
238 FixTexture(spriteOverlay);
239 overlay.sprite = spriteOverlay;
240 overlay.color = new Color(colorOverlay.r * 1.1f, colorOverlay.g * 1.1f, colorOverlay.b * 1.1f, colorOverlay.a);
241 overlay.SetActive(spriteOverlay);
242 }
243 if (enableFull && (bool)imageFull)
244 {
245 FixTexture(spriteFull);
246 imageFull.sprite = spriteFull;
247 base.gameObject.SetActive(!spriteFull);
248 imageFull.SetActive(spriteFull);
249 }
250 if (!showPortrait)
251 {
252 portrait.SetActive(enable: false);
253 overlay.SetActive(enable: false);
254 }
255 void FixTexture(Sprite s)
256 {
257 if ((bool)s && isPortrait)
258 {
259 s.texture.wrapMode = TextureWrapMode.Clamp;
260 if (s.texture.filterMode != filter)
261 {
262 s.texture.filterMode = filter;
263 }
264 }
265 }
266 }
Definition: Core.cs:14
static new Core Instance
Definition: Core.cs:15
CoreConfig config
Definition: Core.cs:70
bool showPortrait
Definition: Portrait.cs:42
FilterMode filter
Definition: Portrait.cs:46
Image imageFull
Definition: Portrait.cs:30
bool enableFull
Definition: Portrait.cs:36
Image overlay
Definition: Portrait.cs:24

References CoreConfig.Test.aaPortrait, Color, Core.config, enableFull, filter, imageFull, Core.Instance, overlay, portrait, showPortrait, and CoreConfig.test.

◆ SetPortrait() [2/2]

void Portrait.SetPortrait ( string  id,
Color  colorOverlay = default(Color),
bool  applyColorMod = true 
)
inline

Definition at line 213 of file Portrait.cs.

214 {
215 Sprite @object = modPortraits.GetItem(id).GetObject();
216 Sprite object2 = modOverlays.GetObject(id + "-overlay");
217 Sprite spriteFull = ((enableFull && (bool)imageFull) ? modFull.GetObject(id + "-full") : null);
218 if (applyColorMod)
219 {
220 colorOverlay = PCCManager.current.ApplyColorMod(colorOverlay);
221 }
222 SetPortrait(isPortrait: true, @object, object2, colorOverlay, spriteFull);
223 }
T GetObject(string id, object option=null)
Definition: ModItemList.cs:75
static ModItemList< Sprite > modOverlays
Definition: Portrait.cs:14
static ModItemList< Sprite > modFull
Definition: Portrait.cs:16

References enableFull, ModItemList< T >.GetItem(), ModItemList< T >.GetObject(), imageFull, modFull, modOverlays, modPortraits, and SetPortrait().

Referenced by LayerLoadGame.RefreshInfo(), LayerEditPortrait.RefreshList(), SetChara(), SetPerson(), and SetPortrait().

Member Data Documentation

◆ allIds

HashSet<string> Portrait.allIds = new HashSet<string>()
static

Definition at line 20 of file Portrait.cs.

Referenced by Chara.GetIdPortrait(), and ModManager.ParseExtra().

◆ charaScale

float Portrait.charaScale = 1f

Definition at line 44 of file Portrait.cs.

Referenced by SetChara().

◆ dictList

Dictionary<string, List<ModItem<Sprite> > > Portrait.dictList = new Dictionary<string, List<ModItem<Sprite>>>()
static

Definition at line 18 of file Portrait.cs.

Referenced by ListPortraits().

◆ enableFull

bool Portrait.enableFull = true

Definition at line 36 of file Portrait.cs.

Referenced by SetPortrait().

◆ filter

FilterMode Portrait.filter
private

Definition at line 46 of file Portrait.cs.

Referenced by SetPortrait().

◆ fixSpritePos

bool Portrait.fixSpritePos = true

Definition at line 40 of file Portrait.cs.

Referenced by SetChara().

◆ hideIfNoPortrait

bool Portrait.hideIfNoPortrait

Definition at line 38 of file Portrait.cs.

Referenced by SetChara().

◆ imageChara

Image Portrait.imageChara

Definition at line 26 of file Portrait.cs.

Referenced by SetChara().

◆ imageFaith

Image Portrait.imageFaith

Definition at line 28 of file Portrait.cs.

Referenced by SetChara().

◆ imageFrame

Image Portrait.imageFrame

Definition at line 32 of file Portrait.cs.

◆ imageFull

Image Portrait.imageFull

Definition at line 30 of file Portrait.cs.

Referenced by SetPortrait().

◆ modFull

ModItemList<Sprite> Portrait.modFull = new ModItemList<Sprite>(3)
static

Definition at line 16 of file Portrait.cs.

Referenced by ModManager.ParseExtra(), and SetPortrait().

◆ modOverlays

ModItemList<Sprite> Portrait.modOverlays = new ModItemList<Sprite>(3)
static

Definition at line 14 of file Portrait.cs.

Referenced by ModManager.ParseExtra(), and SetPortrait().

◆ modPortraitBGFs

ModItemList<Sprite> Portrait.modPortraitBGFs = new ModItemList<Sprite>(3)
static

◆ modPortraitBGs

ModItemList<Sprite> Portrait.modPortraitBGs = new ModItemList<Sprite>(3)
static

◆ modPortraits

ModItemList<Sprite> Portrait.modPortraits = new ModItemList<Sprite>(3)
static

◆ overlay

Image Portrait.overlay

Definition at line 24 of file Portrait.cs.

Referenced by SetPortrait().

◆ portrait

Image Portrait.portrait

Definition at line 22 of file Portrait.cs.

Referenced by SetChara(), and SetPortrait().

◆ showPortrait

bool Portrait.showPortrait = true

Definition at line 42 of file Portrait.cs.

Referenced by SetPortrait().

◆ spriteNoPortrait

Sprite Portrait.spriteNoPortrait

Definition at line 34 of file Portrait.cs.

Referenced by SetChara().


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