private void equipSkirt(Part part) { if (part != null && part.category != PartCategory.Skirt) { return; } PartSlot slot = this.slots.GetSlot(SlotCategory.Skirt); if (slot == null) { return; } Transform capetransform = this.transform.Find("Root/Pos_Hip/Bone_Hip/Skirt"); slot.assignedPart = part; if (part == null) { if (slot.material != null) { slot.material.SetTexture("_MainTex", null); slot.material.SetTexture("_ColorMask", null); } if (capetransform != null) { capetransform.gameObject.SetActive(false); } } else { if (slot.material != null) { slot.material.SetTexture("_MainTex", part.texture); slot.material.SetTexture("_ColorMask", part.colorMask); ResourcesManager.ReleaseZeroReference(); } if (capetransform != null) { capetransform.gameObject.SetActive(true); } } }
private void equipWeapon(SlotCategory slotCategory, Weapon weapon) { PartSlot slot = this.slots.GetSlot(slotCategory); if (slot == null) { return; } resetWeaponRenderer(slot); if (weapon == null) { slot.assignedPart = null; return; } Dictionary <string, string> links = new Dictionary <string, string>(); switch (slotCategory) { case SlotCategory.MainHand: if (weapon.weaponCategory == WeaponCategory.OneHanded || weapon.weaponCategory == WeaponCategory.TwoHanded || weapon.weaponCategory == WeaponCategory.Gun || weapon.weaponCategory == WeaponCategory.Rifle) { links = SetupData.rWeaponLink; } break; case SlotCategory.OffHand: if (weapon.weaponCategory == WeaponCategory.Bow) { links = SetupData.bowLink; } else if (weapon.weaponCategory == WeaponCategory.Shield) { links = SetupData.shieldLink; } else if (weapon.weaponCategory == WeaponCategory.OneHanded || weapon.weaponCategory == WeaponCategory.Gun) { links = SetupData.lWeaponLink; } break; default: break; } slot.assignedPart = weapon; if (slot.material != null) { slot.material.SetTexture("_ColorMask", weapon.colorMask); } { foreach (Sprite s in weapon.sprites) { this.transform.Find(links[s.name]).GetComponent <SpriteRenderer>().sprite = s; } ResourcesManager.ReleaseZeroReference(); } if (SetupData.colorableSpriteLinks.ContainsKey(slotCategory)) { SetPartColor(slotCategory, ColorCode.Color1, slot.color1); } Transform muzzlefx = null; if (slotCategory == SlotCategory.MainHand) { muzzlefx = this.transform.Find(SetupData.muzzleFXLinks[SlotCategory.MainHand]); } if (slotCategory == SlotCategory.OffHand) { muzzlefx = this.transform.Find(SetupData.muzzleFXLinks[SlotCategory.OffHand]); } muzzlefx.localPosition = weapon.muzzlePosition; }