private void AddPartButtons(WorkshopItemType part, string prefix) { if (RagdollPresetPartMetadata.IsEmpty(CustomizationController.instance.activeCustomization.preset.GetPart(part))) { return; } RagdollModel model = CustomizationController.instance.activeCustomization.GetModel(part); if (!(model == null)) { if (model.mask1) { AddChannelButton(part, 1, string.Format(prefix, 1)); } if (model.mask2) { AddChannelButton(part, 2, string.Format(prefix, 2)); } if (model.mask3) { AddChannelButton(part, 3, string.Format(prefix, 3)); } if (channelButtons.Count > 9) { title.gameObject.SetActive(value: false); buttons.pivot = new Vector2(0f, 0.3f); } else { title.gameObject.SetActive(value: true); buttons.pivot = new Vector2(0f, 0.4f); } } }
private void Render() { hasChanges = true; if (!inStroke) { for (int i = 0; i < parts.Count; i++) { parts[i].texture.BeginStroke(); } inStroke = true; } myCam.transform.position = unprojectCamera.transform.position; myCam.transform.rotation = unprojectCamera.transform.rotation; myCam.nearClipPlane = unprojectCamera.nearClipPlane; myCam.farClipPlane = unprojectCamera.farClipPlane; myCam.fieldOfView = unprojectCamera.fieldOfView; myCam.aspect = unprojectCamera.aspect; Matrix4x4 projectionMatrix = unprojectCamera.projectionMatrix; projectionMatrix[0, 2] = MenuCameraEffects.instance.cameraCenter.x; projectionMatrix[1, 2] = MenuCameraEffects.instance.cameraCenter.y; myCam.projectionMatrix = projectionMatrix; for (int j = 0; j < parts.Count; j++) { RagdollModel ragdollModel = parts[j]; ragdollModel.texture.PaintStep(myCam, unprojectMaterial, mask[ragdollModel.ragdollPart]); ragdollModel.padded.Enable(enable: true); ragdollModel.padded.SetMaterial(unprojectMaterial); myCam.Render(); myCam.targetTexture = null; ragdollModel.padded.Enable(enable: false); } }
public void SetMask(WorkshopItemType part, int number, bool on) { int num = 1 << number - 1; mask[part] = ((mask[part] & ~num) | (on ? num : 0)); RagdollModel model = customization.GetModel(part); if (model != null) { model.SetMask(mask[part]); } }
private void ShowMask(WorkshopItemType part, bool show) { RagdollModel model = CustomizationController.instance.activeCustomization.GetModel(part); if (!(model == null)) { model.ShowMask(show); if (show) { model.SetMask(paint.GetMask(part)); } } }
public void SetPart(WorkshopItemType part, RagdollPresetPartMetadata data) { if (data != null) { data.suppressCustomTexture = true; } activeCustomization.preset.SetPart(part, data); activeCustomization.ApplyPreset(activeCustomization.preset); RagdollModel model = activeCustomization.GetModel(part); if (model != null) { data.color1 = HexConverter.ColorToHex(model.color1); data.color2 = HexConverter.ColorToHex(model.color2); data.color3 = HexConverter.ColorToHex(model.color3); } activeCustomization.RebindColors(bake: false); }
private void AddPartButtons(WorkshopItemType part, string prefix) { if (RagdollPresetPartMetadata.IsEmpty(CustomizationController.instance.activeCustomization.preset.GetPart(part))) { return; } RagdollModel model = CustomizationController.instance.activeCustomization.GetModel(part); if (!(model == null)) { if (model.mask1) { AddChannelButton(part, 1, string.Format(prefix, 1)); } if (model.mask2) { AddChannelButton(part, 2, string.Format(prefix, 2)); } if (model.mask3) { AddChannelButton(part, 3, string.Format(prefix, 3)); } } }
public void BindToModel(RagdollModel model) { part = model.ragdollPart; this.model = model; }