public void UpdateIntProperty(LookDevProperty property, int value, bool recordUndo, bool forceLinked) { if (recordUndo) { Undo.RecordObject(this, string.Concat(new object[] { "Update Int property for ", property, " with value ", value })); } this.lookDevContexts[this.m_CurrentEditionContextIndex].UpdateProperty(property, value); if (this.m_LookDevProperties[(int)property].linked || forceLinked) { this.lookDevContexts[(this.m_CurrentEditionContextIndex + 1) % 2].UpdateProperty(property, value); } this.m_LookDevView.Repaint(); }
public void UpdateIntProperty(LookDevProperty property, int value, bool recordUndo, bool forceLinked) { if (recordUndo) { Undo.RecordObject(this, "Update Int property for " + property + " with value " + value); } lookDevContexts[m_CurrentEditionContextIndex].UpdateProperty(property, value); if (m_LookDevProperties[(int)property].linked || forceLinked) { lookDevContexts[(m_CurrentEditionContextIndex + 1) % 2].UpdateProperty(property, value); } m_LookDevView.Repaint(); }
public void UpdatePropertyLink(LookDevProperty property, bool value) { Undo.RecordObject(this, "Update Link for property " + property); this.m_LookDevProperties[(int)property].linked = value; switch (this.m_LookDevProperties[(int)property].propertyType) { case LookDevPropertyType.Int: this.UpdateIntProperty(property, this.lookDevContexts[this.m_CurrentEditionContextIndex].GetProperty(property).intValue, true, false); break; case LookDevPropertyType.Float: this.UpdateFloatProperty(property, this.lookDevContexts[this.m_CurrentEditionContextIndex].GetProperty(property).floatValue, true, false); break; } this.m_LookDevView.Repaint(); }
public void UpdatePropertyLink(LookDevProperty property, bool value) { Undo.RecordObject(this, "Update Link for property " + property); this.m_LookDevProperties[(int)property].linked = value; LookDevPropertyType propertyType = this.m_LookDevProperties[(int)property].propertyType; if (propertyType != LookDevPropertyType.Int) { if (propertyType == LookDevPropertyType.Float) { this.UpdateFloatProperty(property, this.lookDevContexts[this.m_CurrentEditionContextIndex].GetProperty(property).floatValue, true, false); } } else { this.UpdateIntProperty(property, this.lookDevContexts[this.m_CurrentEditionContextIndex].GetProperty(property).intValue, true, false); } this.m_LookDevView.Repaint(); }
public void UpdateFloatProperty(LookDevProperty type, float value, bool recordUndo) { UpdateFloatProperty(type, value, recordUndo, false); }
// Can't use generics properly for the life of me... if anyone has a better suggestion than copy/paste...I'll take it! public void UpdateFloatProperty(LookDevProperty type, float value) { UpdateFloatProperty(type, value, true, false); }
public void UpdateProperty(LookDevProperty property, int value) { this.m_Properties[(int)property].intValue = value; }
public LookDevContext.LookDevPropertyValue GetProperty(LookDevProperty property) { return(this.m_Properties[(int)property]); }
public float GetFloatProperty(LookDevProperty property, LookDevEditionContext context) { return(m_LookDevContexts[(int)context].GetProperty(property).floatValue); }
private void DrawOneView(Rect drawPos, LookDevEditionContext context) { bool flag = (this.m_LookDevView.config.lookDevMode != LookDevMode.Single1 && context == LookDevEditionContext.Left) || (this.m_LookDevView.config.lookDevMode != LookDevMode.Single2 && context == LookDevEditionContext.Right); GUILayout.BeginArea(drawPos); GUILayout.Label(LookDevViewsWindow.styles.sViewTitle[(int)context], LookDevViewsWindow.styles.sViewTitleStyles[(int)context], new GUILayoutOption[0]); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.BeginVertical(new GUILayoutOption[] { GUILayout.Width(this.m_WindowWidth) }); GUILayout.BeginHorizontal(new GUILayoutOption[] { GUILayout.Height(LookDevViewsWindow.kLineHeight) }); GUILayout.Label(LookDevViewsWindow.styles.sExposure, LookDevViewsWindow.styles.sMenuItem, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kLabelWidth) }); float num = this.m_LookDevView.config.GetFloatProperty(LookDevProperty.ExposureValue, context); EditorGUI.BeginChangeCheck(); float num2 = Mathf.Round(this.m_LookDevView.config.exposureRange); num = Mathf.Clamp(GUILayout.HorizontalSlider(num, -num2, num2, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderWidth) }), -num2, num2); num = Mathf.Clamp(EditorGUILayout.FloatField((float)Math.Round((double)num, (num >= 0f) ? 2 : 1), new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderFieldWidth) }), -num2, num2); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateFloatProperty(LookDevProperty.ExposureValue, num); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(new GUILayoutOption[] { GUILayout.Height(LookDevViewsWindow.kLineHeight) }); int hdriCount = this.m_LookDevView.envLibrary.hdriCount; using (new EditorGUI.DisabledScope(hdriCount <= 1)) { GUILayout.Label(LookDevViewsWindow.styles.sEnvironment, LookDevViewsWindow.styles.sMenuItem, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kLabelWidth) }); if (hdriCount > 1) { int num3 = hdriCount - 1; int num4 = this.m_LookDevView.config.GetIntProperty(LookDevProperty.HDRI, context); EditorGUI.BeginChangeCheck(); num4 = (int)GUILayout.HorizontalSlider((float)num4, 0f, (float)num3, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderWidth) }); num4 = Mathf.Clamp(EditorGUILayout.IntField(num4, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderFieldWidth) }), 0, num3); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateIntProperty(LookDevProperty.HDRI, num4); } } else { GUILayout.HorizontalSlider(0f, 0f, 0f, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderWidth) }); GUILayout.Label(LookDevViewsWindow.styles.sZero, LookDevViewsWindow.styles.sMenuItem, new GUILayoutOption[0]); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(new GUILayoutOption[] { GUILayout.Height(LookDevViewsWindow.kLineHeight) }); GUILayout.Label(LookDevViewsWindow.styles.sShadingMode, LookDevViewsWindow.styles.sMenuItem, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kLabelWidth) }); int num5 = this.m_LookDevView.config.GetIntProperty(LookDevProperty.ShadingMode, context); EditorGUI.BeginChangeCheck(); num5 = EditorGUILayout.IntPopup("", num5, LookDevViewsWindow.styles.sShadingModeStrings, LookDevViewsWindow.styles.sShadingModeValues, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderFieldWidth + LookDevViewsWindow.kSliderWidth + 4f) }); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateIntProperty(LookDevProperty.ShadingMode, num5); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(new GUILayoutOption[] { GUILayout.Height(LookDevViewsWindow.kLineHeight) }); GUILayout.Label(LookDevViewsWindow.styles.sRotation, LookDevViewsWindow.styles.sMenuItem, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kLabelWidth) }); float num6 = this.m_LookDevView.config.GetFloatProperty(LookDevProperty.EnvRotation, context); EditorGUI.BeginChangeCheck(); num6 = GUILayout.HorizontalSlider(num6, 0f, 720f, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderWidth) }); num6 = Mathf.Clamp(EditorGUILayout.FloatField((float)Math.Round((double)num6, 0), new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderFieldWidth) }), 0f, 720f); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateFloatProperty(LookDevProperty.EnvRotation, num6); } GUILayout.EndHorizontal(); if (this.NeedLoD()) { GUILayout.BeginHorizontal(new GUILayoutOption[] { GUILayout.Height(LookDevViewsWindow.kLineHeight) }); if (this.m_LookDevView.config.GetObjectLoDCount(context) > 1) { int num7 = this.m_LookDevView.config.GetIntProperty(LookDevProperty.LoDIndex, context); GUILayout.Label((num7 != -1) ? LookDevViewsWindow.styles.sLoD : LookDevViewsWindow.styles.sLoDAuto, LookDevViewsWindow.styles.sMenuItem, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kLabelWidth) }); EditorGUI.BeginChangeCheck(); int num8 = this.m_LookDevView.config.GetObjectLoDCount(context) - 1; if (this.m_LookDevView.config.lookDevMode != LookDevMode.Single1 && this.m_LookDevView.config.lookDevMode != LookDevMode.Single2 && this.m_LookDevView.config.IsPropertyLinked(LookDevProperty.LoDIndex)) { num8 = Math.Min(this.m_LookDevView.config.GetObjectLoDCount(LookDevEditionContext.Left), this.m_LookDevView.config.GetObjectLoDCount(LookDevEditionContext.Right)) - 1; } num7 = Mathf.Clamp(num7, -1, num8); num7 = (int)GUILayout.HorizontalSlider((float)num7, -1f, (float)num8, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderWidth) }); num7 = EditorGUILayout.IntField(num7, new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kSliderFieldWidth) }); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateIntProperty(LookDevProperty.LoDIndex, num7); } } GUILayout.EndHorizontal(); } GUILayout.EndVertical(); if (flag) { GUILayout.BeginVertical(new GUILayoutOption[] { GUILayout.Width(LookDevViewsWindow.kIconSize) }); LookDevProperty[] array = new LookDevProperty[] { LookDevProperty.ExposureValue, LookDevProperty.HDRI, LookDevProperty.ShadingMode, LookDevProperty.EnvRotation, LookDevProperty.LoDIndex }; int num9 = 4 + ((!this.NeedLoD()) ? 0 : 1); for (int i = 0; i < num9; i++) { EditorGUI.BeginChangeCheck(); bool flag2 = this.m_LookDevView.config.IsPropertyLinked(array[i]); bool value = GUILayout.Toggle(flag2, this.GetGUIContentLink(flag2), LookDevViewsWindow.styles.sToolBarButton, new GUILayoutOption[] { GUILayout.Height(LookDevViewsWindow.kLineHeight) }); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdatePropertyLink(array[i], value); } } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); GUILayout.EndArea(); }
public int GetIntProperty(LookDevProperty property, LookDevEditionContext context) => this.m_LookDevContexts[(int)context].GetProperty(property).intValue;
public float GetFloatProperty(LookDevProperty property, LookDevEditionContext context) => this.m_LookDevContexts[(int)context].GetProperty(property).floatValue;
public bool IsPropertyLinked(LookDevProperty type) => this.m_LookDevProperties[(int)type].linked;
public void UpdateIntProperty(LookDevProperty property, int value) { UpdateIntProperty(property, value, true, false); }
public LookDevPropertyValue GetProperty(LookDevProperty property) { return(m_Properties[(int)property]); }
public void UpdateIntProperty(LookDevProperty property, int value, bool recordUndo) { UpdateIntProperty(property, value, recordUndo, false); }
public void UpdateProperty(LookDevProperty property, float value) { m_Properties[(int)property].floatValue = value; }
public int GetIntProperty(LookDevProperty property, LookDevEditionContext context) { return(m_LookDevContexts[(int)context].GetProperty(property).intValue); }
private void DrawOneView(Rect drawPos, LookDevEditionContext context) { int index = (int)context; bool flag = ((this.m_LookDevView.config.lookDevMode != LookDevMode.Single1) && (context == LookDevEditionContext.Left)) || ((this.m_LookDevView.config.lookDevMode != LookDevMode.Single2) && (context == LookDevEditionContext.Right)); GUILayout.BeginArea(drawPos); GUILayout.Label(styles.sViewTitle[index], styles.sViewTitleStyles[index], new GUILayoutOption[0]); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.Width(this.m_WindowWidth) }; GUILayout.BeginVertical(options); GUILayoutOption[] optionArray2 = new GUILayoutOption[] { GUILayout.Height(kLineHeight) }; GUILayout.BeginHorizontal(optionArray2); GUILayoutOption[] optionArray3 = new GUILayoutOption[] { GUILayout.Width(kLabelWidth) }; GUILayout.Label(styles.sExposure, styles.sMenuItem, optionArray3); float floatProperty = this.m_LookDevView.config.GetFloatProperty(LookDevProperty.ExposureValue, context); EditorGUI.BeginChangeCheck(); float max = Mathf.Round(this.m_LookDevView.config.exposureRange); GUILayoutOption[] optionArray4 = new GUILayoutOption[] { GUILayout.Width(kSliderWidth) }; floatProperty = Mathf.Clamp(GUILayout.HorizontalSlider(floatProperty, -max, max, optionArray4), -max, max); GUILayoutOption[] optionArray5 = new GUILayoutOption[] { GUILayout.Width(kSliderFieldWidth) }; floatProperty = Mathf.Clamp(EditorGUILayout.FloatField((float)Math.Round((double)floatProperty, (floatProperty >= 0f) ? 2 : 1), optionArray5), -max, max); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateFloatProperty(LookDevProperty.ExposureValue, floatProperty); } GUILayout.EndHorizontal(); GUILayoutOption[] optionArray6 = new GUILayoutOption[] { GUILayout.Height(kLineHeight) }; GUILayout.BeginHorizontal(optionArray6); int num4 = -1; int hdriCount = this.m_LookDevView.envLibrary.hdriCount; using (new EditorGUI.DisabledScope(hdriCount <= 1)) { GUILayoutOption[] optionArray7 = new GUILayoutOption[] { GUILayout.Width(kLabelWidth) }; GUILayout.Label(styles.sEnvironment, styles.sMenuItem, optionArray7); if (hdriCount > 1) { int num6 = hdriCount - 1; num4 = this.m_LookDevView.config.GetIntProperty(LookDevProperty.HDRI, context); EditorGUI.BeginChangeCheck(); GUILayoutOption[] optionArray8 = new GUILayoutOption[] { GUILayout.Width(kSliderWidth) }; num4 = (int)GUILayout.HorizontalSlider((float)num4, 0f, (float)num6, optionArray8); GUILayoutOption[] optionArray9 = new GUILayoutOption[] { GUILayout.Width(kSliderFieldWidth) }; num4 = Mathf.Clamp(EditorGUILayout.IntField(num4, optionArray9), 0, num6); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateIntProperty(LookDevProperty.HDRI, num4); } } else { GUILayoutOption[] optionArray10 = new GUILayoutOption[] { GUILayout.Width(kSliderWidth) }; GUILayout.HorizontalSlider(0f, 0f, 0f, optionArray10); GUILayout.Label(styles.sZero, styles.sMenuItem, new GUILayoutOption[0]); } } GUILayout.EndHorizontal(); GUILayoutOption[] optionArray11 = new GUILayoutOption[] { GUILayout.Height(kLineHeight) }; GUILayout.BeginHorizontal(optionArray11); GUILayoutOption[] optionArray12 = new GUILayoutOption[] { GUILayout.Width(kLabelWidth) }; GUILayout.Label(styles.sShadingMode, styles.sMenuItem, optionArray12); int intProperty = this.m_LookDevView.config.GetIntProperty(LookDevProperty.ShadingMode, context); EditorGUI.BeginChangeCheck(); GUILayoutOption[] optionArray13 = new GUILayoutOption[] { GUILayout.Width((kSliderFieldWidth + kSliderWidth) + 4f) }; intProperty = EditorGUILayout.IntPopup("", intProperty, styles.sShadingModeStrings, styles.sShadingModeValues, optionArray13); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateIntProperty(LookDevProperty.ShadingMode, intProperty); } GUILayout.EndHorizontal(); GUILayoutOption[] optionArray14 = new GUILayoutOption[] { GUILayout.Height(kLineHeight) }; GUILayout.BeginHorizontal(optionArray14); GUILayoutOption[] optionArray15 = new GUILayoutOption[] { GUILayout.Width(kLabelWidth) }; GUILayout.Label(styles.sRotation, styles.sMenuItem, optionArray15); float num8 = this.m_LookDevView.config.GetFloatProperty(LookDevProperty.EnvRotation, context); EditorGUI.BeginChangeCheck(); GUILayoutOption[] optionArray16 = new GUILayoutOption[] { GUILayout.Width(kSliderWidth) }; GUILayoutOption[] optionArray17 = new GUILayoutOption[] { GUILayout.Width(kSliderFieldWidth) }; num8 = Mathf.Clamp(EditorGUILayout.FloatField((float)Math.Round((double)GUILayout.HorizontalSlider(num8, 0f, 720f, optionArray16), 0), optionArray17), 0f, 720f); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateFloatProperty(LookDevProperty.EnvRotation, num8); } GUILayout.EndHorizontal(); if (this.NeedLoD()) { GUILayoutOption[] optionArray18 = new GUILayoutOption[] { GUILayout.Height(kLineHeight) }; GUILayout.BeginHorizontal(optionArray18); if (this.m_LookDevView.config.GetObjectLoDCount(context) > 1) { int num9 = this.m_LookDevView.config.GetIntProperty(LookDevProperty.LoDIndex, context); GUILayoutOption[] optionArray19 = new GUILayoutOption[] { GUILayout.Width(kLabelWidth) }; GUILayout.Label((num9 != -1) ? styles.sLoD : styles.sLoDAuto, styles.sMenuItem, optionArray19); EditorGUI.BeginChangeCheck(); int num10 = this.m_LookDevView.config.GetObjectLoDCount(context) - 1; if (((this.m_LookDevView.config.lookDevMode != LookDevMode.Single1) && (this.m_LookDevView.config.lookDevMode != LookDevMode.Single2)) && this.m_LookDevView.config.IsPropertyLinked(LookDevProperty.LoDIndex)) { num10 = Math.Min(this.m_LookDevView.config.GetObjectLoDCount(LookDevEditionContext.Left), this.m_LookDevView.config.GetObjectLoDCount(LookDevEditionContext.Right)) - 1; } GUILayoutOption[] optionArray20 = new GUILayoutOption[] { GUILayout.Width(kSliderWidth) }; num9 = (int)GUILayout.HorizontalSlider((float)Mathf.Clamp(num9, -1, num10), -1f, (float)num10, optionArray20); GUILayoutOption[] optionArray21 = new GUILayoutOption[] { GUILayout.Width(kSliderFieldWidth) }; num9 = EditorGUILayout.IntField(num9, optionArray21); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdateFocus(context); this.m_LookDevView.config.UpdateIntProperty(LookDevProperty.LoDIndex, num9); } } GUILayout.EndHorizontal(); } GUILayout.EndVertical(); if (flag) { GUILayoutOption[] optionArray22 = new GUILayoutOption[] { GUILayout.Width(kIconSize) }; GUILayout.BeginVertical(optionArray22); LookDevProperty[] propertyArray = new LookDevProperty[] { LookDevProperty.ExposureValue }; int num11 = 4 + (!this.NeedLoD() ? 0 : 1); for (int i = 0; i < num11; i++) { bool flag2 = false; EditorGUI.BeginChangeCheck(); bool flag3 = this.m_LookDevView.config.IsPropertyLinked(propertyArray[i]); GUILayoutOption[] optionArray23 = new GUILayoutOption[] { GUILayout.Height(kLineHeight) }; flag2 = GUILayout.Toggle(flag3, this.GetGUIContentLink(flag3), styles.sToolBarButton, optionArray23); if (EditorGUI.EndChangeCheck()) { this.m_LookDevView.config.UpdatePropertyLink(propertyArray[i], flag2); } } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); GUILayout.EndArea(); }
public bool IsPropertyLinked(LookDevProperty type) { return(m_LookDevProperties[(int)type].linked); }
public LookDevPropertyValue GetProperty(LookDevProperty property) => this.m_Properties[(int)property];