1using System.Collections.Generic;
18 public static Dictionary<string, List<ModItem<Sprite>>>
dictList =
new Dictionary<string, List<ModItem<Sprite>>>();
20 public static HashSet<string>
allIds =
new HashSet<string>();
61 List<ModItem<Sprite>> list =
dictList.TryGetValue(idDict);
62 if (list ==
null || list.Count == 0)
64 list =
new List<ModItem<Sprite>>();
67 if (
item.id.Contains(idDict))
77 public static List<ModItem<Sprite>>
ListPortraits(
int gender,
string cat)
83 string key = cat + gender;
84 List<ModItem<Sprite>> list =
dictList.TryGetValue(key);
85 if (list ==
null || list.Count == 0)
87 list =
new List<ModItem<Sprite>>();
90 string[] array =
item.id.Split(
'-')[0].Split(
'_');
91 if (!(array[0] != cat))
93 int num = ((array.Length > 1) ? ((array[1] ==
"m") ? 2 : ((array[1] ==
"f") ? 1 : 0)) : 0);
94 if (num == 0 || gender == 0 || gender == num)
122 base.gameObject.SetActive(value:
true);
133 else if (p.
source !=
null)
139 base.gameObject.SetActive(value:
false);
145 portrait.enabled =
true;
146 overlay.enabled =
true;
153 imageChara.transform.localScale = (c.IsPCC ?
new Vector3(1.3f, 1.4f, 1f) :
new Vector3(1f, 1f, 1f)) *
charaScale;
154 imageChara.rectTransform.pivot = (c.IsPCC ?
new Vector2(0.5f, 0.3f) :
new Vector2(0.5f, 0.2f));
155 imageChara.rectTransform.anchoredPosition = (c.IsPCC ?
new Vector2(-25f, 20f) :
new Vector2(-25f, 20f));
166 portrait.enabled =
false;
167 overlay.enabled =
false;
177 portrait.transform.localScale =
new Vector3(1f, 1f, 1f);
178 portrait.preserveAspect =
true;
180 portrait.Rect().SetAnchor(0.5f, 0f, 0.5f, 0f);
182 portrait.Rect().anchoredPosition =
new Vector2(0f, 0f);
186 if (pccData ==
null && c.
isChara)
190 Color colorOverlay = pccData?.GetHairColor(applyMod:
true) ??
Color.white;
191 overlay.enabled =
true;
203 overlay.enabled =
false;
213 Color randomColor = PCCManager.current.GetBodySet(
"female").map[
"hair"].GetRandomColor();
225 colorOverlay = PCCManager.current.ApplyColorMod(colorOverlay);
227 SetPortrait(isPortrait:
true, @
object, object2, colorOverlay, spriteFull);
230 public void SetPortrait(
bool isPortrait, Sprite spritePortrait, Sprite spriteOverlay =
null,
Color colorOverlay =
default(
Color), Sprite spriteFull =
null)
233 portrait.rectTransform.anchorMin =
overlay.rectTransform.anchorMin;
234 portrait.rectTransform.anchorMax =
overlay.rectTransform.anchorMax;
235 portrait.rectTransform.sizeDelta =
overlay.rectTransform.sizeDelta;
236 if ((
bool)spritePortrait)
238 portrait.sprite = spritePortrait;
239 FixTexture(spritePortrait);
243 FixTexture(spriteOverlay);
244 overlay.sprite = spriteOverlay;
245 overlay.color =
new Color(colorOverlay.r * 1.1f, colorOverlay.g * 1.1f, colorOverlay.b * 1.1f, colorOverlay.a);
246 overlay.SetActive(spriteOverlay);
250 FixTexture(spriteFull);
251 imageFull.sprite = spriteFull;
252 base.gameObject.SetActive(!spriteFull);
258 overlay.SetActive(enable:
false);
260 void FixTexture(Sprite s)
262 if ((
bool)s && isPortrait)
264 s.texture.wrapMode = TextureWrapMode.Clamp;
265 if (s.texture.filterMode !=
filter)
267 s.texture.filterMode =
filter;
int GetInt(int id, int? defaultInt=null)
void SetImage(Image image, int dir, int idSkin=0)
override Sprite GetSprite(int dir=0)
Material matUIPortraitChara
static Color32 FromInt(int i)
List< ModItem< T > > list
T GetObject(string id, object option=null)
Dictionary< string, ModItem< T > > dict
ModItem< T > GetItem(string id, bool returnNull=false)
static ModItemList< Sprite > modPortraitBGFs
static List< ModItem< Sprite > > ListPortraits(string idDict)
static string GetRandomPortrait(int gender, string cat)
static ModItemList< Sprite > modPortraitBGs
void SetPortrait(bool isPortrait, Sprite spritePortrait, Sprite spriteOverlay=null, Color colorOverlay=default(Color), Sprite spriteFull=null)
static string GetRandomPortrait(string idDict)
void SetPortrait(string id, Color colorOverlay=default(Color), bool applyColorMod=true)
Color GetRandomHairColor(Chara c)
static bool Exists(string id)
static List< ModItem< Sprite > > ListPlayerPortraits(int gender, bool nullPortrait=false)
static Dictionary< string, List< ModItem< Sprite > > > dictList
static ModItemList< Sprite > modOverlays
static ModItemList< Sprite > modPortraits
static HashSet< string > allIds
void SetChara(Chara c, PCCData pccData=null)
static List< ModItem< Sprite > > ListPortraits(int gender, string cat)
static ModItemList< Sprite > modFull
static void SetSeed(int a=-1)