public void SetupHairCap( SkinSetCollection skin, float hairNum, float meshNum, MaterialPropertyBlock block) { int index = skin.GetIndex(meshNum); SkinSet skin1 = skin.Skins[index]; if (!Object.op_Inequality((Object)skin1, (Object)null)) { return; } for (int typeIndex = 0; typeIndex < 5; ++typeIndex) { if ((this.hairCapMask & (HairCapMask)(1 << typeIndex)) != (HairCapMask)0) { float typeNum; float dyeNum; PlayerModelHair.GetRandomVariation(hairNum, typeIndex, index, out typeNum, out dyeNum); HairType hairType = (HairType)typeIndex; HairSetCollection.HairSetEntry hairSetEntry = skin1.HairCollection.Get(hairType, typeNum); if (Object.op_Inequality((Object)hairSetEntry.HairSet, (Object)null)) { HairDyeCollection hairDyeCollection = hairSetEntry.HairDyeCollection; if (Object.op_Inequality((Object)hairDyeCollection, (Object)null)) { hairDyeCollection.Get(dyeNum)?.ApplyCap(hairDyeCollection, hairType, block); } } } } }
public void SetupHairCap(SkinSetCollection skin, float hairNum, float meshNum, MaterialPropertyBlock block) { float single; float single1; int index = skin.GetIndex(meshNum); SkinSet skins = skin.Skins[index]; if (skins != null) { for (int i = 0; i < 5; i++) { if (((int)this.hairCapMask & 1 << (i & 31)) != 0) { PlayerModelHair.GetRandomVariation(hairNum, i, index, out single, out single1); HairType hairType = (HairType)i; HairSetCollection.HairSetEntry hairSetEntry = skins.HairCollection.Get(hairType, single); if (hairSetEntry.HairSet != null) { HairDyeCollection hairDyeCollection = hairSetEntry.HairDyeCollection; if (hairDyeCollection != null) { HairDye hairDye = hairDyeCollection.Get(single1); if (hairDye != null) { hairDye.ApplyCap(hairDyeCollection, hairType, block); } } } } } } }
public void OpenMenu(SkinSet source) { if (Permission.CanDo(Ability.ChangeSkin)) { _source = source; OpenMenu(); } }
public void Setup(SkinSetCollection skin, float materialNum, float meshNum) { SkinSet skinSet = skin.Get(meshNum); if (Object.op_Equality((Object)skinSet, (Object)null)) { Debug.LogError((object)"Skin.Get returned a NULL skin"); } skinSet.Process(((Component)this).get_gameObject(), materialNum); }
public void Setup(SkinSetCollection skin, float materialNum, float meshNum) { SkinSet skinSet = skin.Get(meshNum); if (skinSet == null) { Debug.LogError("Skin.Get returned a NULL skin"); } skinSet.Process(base.gameObject, materialNum); }
public SkinSubmenu(Func <uint, Skin, Task> onSelect) : base("PocceMod", "select skin") { OnItemSelect += async(menu, item, index) => { var model = item.Text; uint hash; if (model.StartsWith("0x")) { hash = uint.Parse(model.Substring(2), System.Globalization.NumberStyles.HexNumber); } else { hash = (uint)API.GetHashKey(model); } await onSelect(hash, null); _lastSkinName = model; _lastSkin = null; }; OnListItemSelect += async(menu, listItem, listIndex, itemIndex) => { var skins = listItem.ItemData as List <Skin>; if (skins != null && skins.Count > listIndex) { var skin = skins[listIndex]; await onSelect(skin.Model, skin); _lastSkinName = skin.Name; _lastSkin = skin; } }; OnMenuOpen += (menu) => { if (_source == null) { return; } foreach (var item in _source.Skins) { AddSkinVariations(item); } JumpToSkin(_lastSkinName, _lastSkin); }; OnMenuClose += (menu) => { ClearMenuItems(); _source = null; }; }
public SkinMenu() : base("PocceMod", "select skin") { foreach (var pocce in Config.PocceList) { _allSkins.Add(Skin.ModelToName(pocce)); } OnItemSelect += async(_menu, _item, _index) => { await ChangeSkin(_item.Text); }; OnListItemSelect += async(_menu, _listItem, _listIndex, _itemIndex) => { await ChangeSkin(_listItem, _listIndex); }; OnMenuOpen += (_menu) => { if (_source == null) { return; } foreach (var items in _source.Elements) { if (items.Value.Count > 0) { var list = new List <string>(); for (int i = 0; i < items.Value.Count; ++i) { list.Add("#" + i); } var menuItem = new MenuListItem(items.Key, list, 0); menuItem.ItemData = items.Value; AddMenuItem(menuItem); } else { var menuItem = new MenuItem(items.Key); AddMenuItem(menuItem); } } }; OnMenuClose += (_menu) => { ClearMenuItems(); _source = null; }; }
public void RandomizeAppearance() { LookDatabase db = GameObject.FindObjectOfType <LookDatabase>(); if (db != null) { SkinSet skin = db.GetRandomSkinSet(); Head = skin.HeadRear; Arm = skin.Arm; Hair = db.GetRandomHair(); } ApplyLook(); }
public void Setup(SkinSetCollection skin, float hairNum, float meshNum, MaterialPropertyBlock block) { float single; float single1; int index = skin.GetIndex(meshNum); SkinSet skins = skin.Skins[index]; if (skins == null) { Debug.LogError("Skin.Get returned a NULL skin"); return; } int num = (int)this.type; PlayerModelHair.GetRandomVariation(hairNum, num, index, out single, out single1); this.Setup(this.type, skins.HairCollection, index, single, single1, block); }
public void Setup( SkinSetCollection skin, float hairNum, float meshNum, MaterialPropertyBlock block) { int index = skin.GetIndex(meshNum); SkinSet skin1 = skin.Skins[index]; if (Object.op_Equality((Object)skin1, (Object)null)) { Debug.LogError((object)"Skin.Get returned a NULL skin"); } else { int type = (int)this.type; float typeNum; float dyeNum; PlayerModelHair.GetRandomVariation(hairNum, type, index, out typeNum, out dyeNum); this.Setup(this.type, skin1.HairCollection, index, typeNum, dyeNum, block); } }
protected void OpenMenu(SkinSet source) { _source = source; OpenMenu(); }