public void ObjectPreview(Rect r) { if (r.height > 0f) { if (s_Styles == null) { s_Styles = new Styles(); } List <Texture2D> list = new List <Texture2D>(); foreach (GITextureType type in this.kObjectPreviewTextureTypes) { list.Add(LightmapVisualizationUtility.GetGITexture(type)); } if (list.Count != 0) { Rect rect3; Rect rect9; if (this.m_ZoomablePreview == null) { this.m_ZoomablePreview = new ZoomableArea(true); this.m_ZoomablePreview.hRangeMin = 0f; this.m_ZoomablePreview.vRangeMin = 0f; this.m_ZoomablePreview.hRangeMax = 1f; this.m_ZoomablePreview.vRangeMax = 1f; this.m_ZoomablePreview.SetShownHRange(0f, 1f); this.m_ZoomablePreview.SetShownVRange(0f, 1f); this.m_ZoomablePreview.uniformScale = true; this.m_ZoomablePreview.scaleWithWindow = true; } GUI.Box(r, string.Empty, "PreBackground"); Rect position = new Rect(r); position.y++; position.height = 18f; GUI.Box(position, string.Empty, EditorStyles.toolbar); Rect rect2 = new Rect(r); rect2.y++; rect2.height = 18f; rect2.width = 120f; rect3 = new Rect(r) { yMin = rect3.yMin + rect2.height, yMax = rect3.yMax - 14f, width = rect3.width - 11f }; int index = Array.IndexOf <GUIContent>(kObjectPreviewTextureOptions, this.m_SelectedObjectPreviewTexture); if (index < 0) { index = 0; } index = EditorGUI.Popup(rect2, index, kObjectPreviewTextureOptions, EditorStyles.toolbarPopup); if (index >= kObjectPreviewTextureOptions.Length) { index = 0; } this.m_SelectedObjectPreviewTexture = kObjectPreviewTextureOptions[index]; LightmapType lightmapType = ((this.kObjectPreviewTextureTypes[index] != GITextureType.Baked) && (this.kObjectPreviewTextureTypes[index] != GITextureType.BakedDirectional)) ? LightmapType.DynamicLightmap : LightmapType.StaticLightmap; SerializedProperty property = new SerializedObject(LightmapEditorSettings.GetLightmapSettings()).FindProperty("m_LightmapsMode"); bool flag = ((this.kObjectPreviewTextureTypes[index] == GITextureType.Baked) || (this.kObjectPreviewTextureTypes[index] == GITextureType.BakedDirectional)) && (property.intValue == 2); if (flag) { GUIContent content = GUIContent.Temp("Indirect"); Rect rect4 = rect2; rect4.x += rect2.width; rect4.width = EditorStyles.toolbarButton.CalcSize(content).x; this.m_HasSeparateIndirectUV = GUI.Toggle(rect4, this.m_HasSeparateIndirectUV, content.text, EditorStyles.toolbarButton); } switch (Event.current.type) { case EventType.ValidateCommand: case EventType.ExecuteCommand: if (Event.current.commandName == "FrameSelected") { Rect rect5; Vector4 lightmapTilingOffset = LightmapVisualizationUtility.GetLightmapTilingOffset(lightmapType); Vector2 lhs = new Vector2(lightmapTilingOffset.z, lightmapTilingOffset.w); Vector2 vector3 = lhs + new Vector2(lightmapTilingOffset.x, lightmapTilingOffset.y); lhs = Vector2.Max(lhs, Vector2.zero); vector3 = Vector2.Min(vector3, Vector2.one); float num3 = 1f - lhs.y; lhs.y = 1f - vector3.y; vector3.y = num3; rect5 = new Rect(lhs.x, lhs.y, vector3.x - lhs.x, vector3.y - lhs.y) { x = rect5.x - (Mathf.Clamp(rect5.height - rect5.width, 0f, float.MaxValue) / 2f), y = rect5.y - (Mathf.Clamp(rect5.width - rect5.height, 0f, float.MaxValue) / 2f) }; float num5 = Mathf.Max(rect5.width, rect5.height); rect5.height = num5; rect5.width = num5; if (flag && this.m_HasSeparateIndirectUV) { rect5.x += 0.5f; } this.m_ZoomablePreview.shownArea = rect5; Event.current.Use(); } break; case EventType.Repaint: { Texture2D texture = list[index]; if ((texture != null) && (Event.current.type == EventType.Repaint)) { Rect rect7; Rect rect8; Rect rect = new Rect(0f, 0f, (float)texture.width, (float)texture.height); rect = this.ResizeRectToFit(rect, rect3); rect = this.CenterToRect(rect, rect3); rect = this.ScaleRectByZoomableArea(rect, this.m_ZoomablePreview); rect7 = new Rect(rect) { x = rect7.x + 3f, y = rect7.y + (rect3.y + 20f) }; rect8 = new Rect(rect3) { y = rect8.y + (rect2.height + 3f) }; float num4 = rect8.y - 14f; rect7.y -= num4; rect8.y -= num4; UnityEngine.FilterMode filterMode = texture.filterMode; texture.filterMode = UnityEngine.FilterMode.Point; GITextureType textureType = this.kObjectPreviewTextureTypes[index]; bool drawSpecularUV = flag && this.m_HasSeparateIndirectUV; LightmapVisualizationUtility.DrawTextureWithUVOverlay(texture, Selection.activeGameObject, rect8, rect7, textureType, drawSpecularUV); texture.filterMode = filterMode; } break; } } if (this.m_PreviousSelection != Selection.activeInstanceID) { this.m_PreviousSelection = Selection.activeInstanceID; this.m_ZoomablePreview.SetShownHRange(0f, 1f); this.m_ZoomablePreview.SetShownVRange(0f, 1f); } rect9 = new Rect(r) { yMin = rect9.yMin + rect2.height }; this.m_ZoomablePreview.rect = rect9; this.m_ZoomablePreview.BeginViewGUI(); this.m_ZoomablePreview.EndViewGUI(); GUILayoutUtility.GetRect(r.width, r.height); } } }
public void ObjectPreview(Rect r) { if (r.height <= 0f) { return; } if (LightingWindowObjectTab.s_Styles == null) { LightingWindowObjectTab.s_Styles = new LightingWindowObjectTab.Styles(); } List <Texture2D> list = new List <Texture2D>(); GITextureType[] array = this.kObjectPreviewTextureTypes; for (int i = 0; i < array.Length; i++) { GITextureType textureType = array[i]; list.Add(LightmapVisualizationUtility.GetGITexture(textureType)); } if (list.Count == 0) { return; } if (this.m_ZoomablePreview == null) { this.m_ZoomablePreview = new ZoomableArea(true); this.m_ZoomablePreview.hRangeMin = 0f; this.m_ZoomablePreview.vRangeMin = 0f; this.m_ZoomablePreview.hRangeMax = 1f; this.m_ZoomablePreview.vRangeMax = 1f; this.m_ZoomablePreview.SetShownHRange(0f, 1f); this.m_ZoomablePreview.SetShownVRange(0f, 1f); this.m_ZoomablePreview.uniformScale = true; this.m_ZoomablePreview.scaleWithWindow = true; } GUI.Box(r, string.Empty, "PreBackground"); Rect position = new Rect(r); position.y += 1f; position.height = 18f; GUI.Box(position, string.Empty, EditorStyles.toolbar); Rect rect = new Rect(r); rect.y += 1f; rect.height = 18f; rect.width = 120f; Rect rect2 = new Rect(r); rect2.yMin += rect.height; rect2.yMax -= 14f; rect2.width -= 11f; int num = Array.IndexOf <GUIContent>(LightingWindowObjectTab.kObjectPreviewTextureOptions, this.m_SelectedObjectPreviewTexture); if (num < 0) { num = 0; } num = EditorGUI.Popup(rect, num, LightingWindowObjectTab.kObjectPreviewTextureOptions, EditorStyles.toolbarPopup); if (num >= LightingWindowObjectTab.kObjectPreviewTextureOptions.Length) { num = 0; } this.m_SelectedObjectPreviewTexture = LightingWindowObjectTab.kObjectPreviewTextureOptions[num]; LightmapType lightmapType = (this.kObjectPreviewTextureTypes[num] != GITextureType.Baked && this.kObjectPreviewTextureTypes[num] != GITextureType.BakedDirectional) ? LightmapType.DynamicLightmap : LightmapType.StaticLightmap; SerializedObject serializedObject = new SerializedObject(LightmapEditorSettings.GetLightmapSettings()); SerializedProperty serializedProperty = serializedObject.FindProperty("m_LightmapsMode"); bool flag = (this.kObjectPreviewTextureTypes[num] == GITextureType.Baked || this.kObjectPreviewTextureTypes[num] == GITextureType.BakedDirectional) && serializedProperty.intValue == 2; if (flag) { GUIContent gUIContent = GUIContent.Temp("Indirect"); Rect position2 = rect; position2.x += rect.width; position2.width = EditorStyles.toolbarButton.CalcSize(gUIContent).x; this.m_HasSeparateIndirectUV = GUI.Toggle(position2, this.m_HasSeparateIndirectUV, gUIContent.text, EditorStyles.toolbarButton); } Event current = Event.current; EventType type = current.type; if (type != EventType.ValidateCommand && type != EventType.ExecuteCommand) { if (type == EventType.Repaint) { Texture2D texture2D = list[num]; if (texture2D && Event.current.type == EventType.Repaint) { Rect rect3 = new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height); rect3 = this.ResizeRectToFit(rect3, rect2); rect3 = this.CenterToRect(rect3, rect2); rect3 = this.ScaleRectByZoomableArea(rect3, this.m_ZoomablePreview); Rect position3 = new Rect(rect3); position3.x += 3f; position3.y += rect2.y + 20f; Rect drawableArea = new Rect(rect2); drawableArea.y += rect.height + 3f; float num2 = drawableArea.y - 14f; position3.y -= num2; drawableArea.y -= num2; texture2D.filterMode = FilterMode.Point; GITextureType textureType2 = this.kObjectPreviewTextureTypes[num]; bool drawSpecularUV = flag && this.m_HasSeparateIndirectUV; LightmapVisualizationUtility.DrawTextureWithUVOverlay(texture2D, Selection.activeGameObject, drawableArea, position3, textureType2, drawSpecularUV); } } } else { if (Event.current.commandName == "FrameSelected") { Vector4 lightmapTilingOffset = LightmapVisualizationUtility.GetLightmapTilingOffset(lightmapType); Vector2 vector = new Vector2(lightmapTilingOffset.z, lightmapTilingOffset.w); Vector2 lhs = vector + new Vector2(lightmapTilingOffset.x, lightmapTilingOffset.y); vector = Vector2.Max(vector, Vector2.zero); lhs = Vector2.Min(lhs, Vector2.one); float y = 1f - vector.y; vector.y = 1f - lhs.y; lhs.y = y; Rect shownArea = new Rect(vector.x, vector.y, lhs.x - vector.x, lhs.y - vector.y); shownArea.x -= Mathf.Clamp(shownArea.height - shownArea.width, 0f, 3.40282347E+38f) / 2f; shownArea.y -= Mathf.Clamp(shownArea.width - shownArea.height, 0f, 3.40282347E+38f) / 2f; float num3 = Mathf.Max(shownArea.width, shownArea.height); shownArea.height = num3; shownArea.width = num3; if (flag && this.m_HasSeparateIndirectUV) { shownArea.x += 0.5f; } this.m_ZoomablePreview.shownArea = shownArea; Event.current.Use(); } } if (this.m_PreviousSelection != Selection.activeInstanceID) { this.m_PreviousSelection = Selection.activeInstanceID; this.m_ZoomablePreview.SetShownHRange(0f, 1f); this.m_ZoomablePreview.SetShownVRange(0f, 1f); } Rect rect4 = new Rect(r); rect4.yMin += rect.height; this.m_ZoomablePreview.rect = rect4; this.m_ZoomablePreview.BeginViewGUI(); this.m_ZoomablePreview.EndViewGUI(); GUILayoutUtility.GetRect(r.width, r.height); }
public void ObjectPreview(Rect r) { if (r.height > 0f) { List <Texture2D> list = new List <Texture2D>(); GITextureType[] array = this.kObjectPreviewTextureTypes; for (int i = 0; i < array.Length; i++) { GITextureType textureType = array[i]; list.Add(LightmapVisualizationUtility.GetGITexture(textureType)); } if (list.Count != 0) { if (this.m_ZoomablePreview == null) { this.m_ZoomablePreview = new ZoomableArea(true); this.m_ZoomablePreview.hRangeMin = 0f; this.m_ZoomablePreview.vRangeMin = 0f; this.m_ZoomablePreview.hRangeMax = 1f; this.m_ZoomablePreview.vRangeMax = 1f; this.m_ZoomablePreview.SetShownHRange(0f, 1f); this.m_ZoomablePreview.SetShownVRange(0f, 1f); this.m_ZoomablePreview.uniformScale = true; this.m_ZoomablePreview.scaleWithWindow = true; } GUI.Box(r, "", "PreBackground"); Rect position = new Rect(r); position.y += 1f; position.height = 18f; GUI.Box(position, "", EditorStyles.toolbar); Rect position2 = new Rect(r); position2.y += 1f; position2.height = 18f; position2.width = 120f; Rect rect = new Rect(r); rect.yMin += position2.height; rect.yMax -= 14f; rect.width -= 11f; int num = Array.IndexOf <GUIContent>(LightingWindowObjectTab.kObjectPreviewTextureOptions, this.m_SelectedObjectPreviewTexture); if (num < 0) { num = 0; } num = EditorGUI.Popup(position2, num, LightingWindowObjectTab.kObjectPreviewTextureOptions, EditorStyles.toolbarPopup); if (num >= LightingWindowObjectTab.kObjectPreviewTextureOptions.Length) { num = 0; } this.m_SelectedObjectPreviewTexture = LightingWindowObjectTab.kObjectPreviewTextureOptions[num]; LightmapType lightmapType = (this.kObjectPreviewTextureTypes[num] != GITextureType.BakedShadowMask && this.kObjectPreviewTextureTypes[num] != GITextureType.Baked && this.kObjectPreviewTextureTypes[num] != GITextureType.BakedDirectional && this.kObjectPreviewTextureTypes[num] != GITextureType.BakedCharting) ? LightmapType.DynamicLightmap : LightmapType.StaticLightmap; Event current = Event.current; EventType type = current.type; if (type != EventType.ValidateCommand && type != EventType.ExecuteCommand) { if (type == EventType.Repaint) { Texture2D texture2D = list[num]; if (texture2D && Event.current.type == EventType.Repaint) { Rect rect2 = new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height); rect2 = this.ResizeRectToFit(rect2, rect); rect2 = this.CenterToRect(rect2, rect); rect2 = this.ScaleRectByZoomableArea(rect2, this.m_ZoomablePreview); Rect position3 = new Rect(rect2); position3.x += 3f; position3.y += rect.y + 20f; Rect drawableArea = new Rect(rect); drawableArea.y += position2.height + 3f; float num2 = drawableArea.y - 14f; position3.y -= num2; drawableArea.y -= num2; FilterMode filterMode = texture2D.filterMode; texture2D.filterMode = FilterMode.Point; GITextureType textureType2 = this.kObjectPreviewTextureTypes[num]; LightmapVisualizationUtility.DrawTextureWithUVOverlay(texture2D, Selection.activeGameObject, drawableArea, position3, textureType2); texture2D.filterMode = filterMode; } } } else if (Event.current.commandName == "FrameSelected") { Vector4 lightmapTilingOffset = LightmapVisualizationUtility.GetLightmapTilingOffset(lightmapType); Vector2 vector = new Vector2(lightmapTilingOffset.z, lightmapTilingOffset.w); Vector2 lhs = vector + new Vector2(lightmapTilingOffset.x, lightmapTilingOffset.y); vector = Vector2.Max(vector, Vector2.zero); lhs = Vector2.Min(lhs, Vector2.one); float y = 1f - vector.y; vector.y = 1f - lhs.y; lhs.y = y; Rect shownArea = new Rect(vector.x, vector.y, lhs.x - vector.x, lhs.y - vector.y); shownArea.x -= Mathf.Clamp(shownArea.height - shownArea.width, 0f, 3.40282347E+38f) / 2f; shownArea.y -= Mathf.Clamp(shownArea.width - shownArea.height, 0f, 3.40282347E+38f) / 2f; float num3 = Mathf.Max(shownArea.width, shownArea.height); shownArea.height = num3; shownArea.width = num3; this.m_ZoomablePreview.shownArea = shownArea; Event.current.Use(); } if (this.m_PreviousSelection != Selection.activeInstanceID) { this.m_PreviousSelection = Selection.activeInstanceID; this.m_ZoomablePreview.SetShownHRange(0f, 1f); this.m_ZoomablePreview.SetShownVRange(0f, 1f); } Rect rect3 = new Rect(r); rect3.yMin += position2.height; this.m_ZoomablePreview.rect = rect3; this.m_ZoomablePreview.BeginViewGUI(); this.m_ZoomablePreview.EndViewGUI(); GUILayoutUtility.GetRect(r.width, r.height); } } }
public void ObjectPreview(Rect r) { if ((double)r.height <= 0.0) { return; } if (LightingWindowObjectTab.s_Styles == null) { LightingWindowObjectTab.s_Styles = new LightingWindowObjectTab.Styles(); } List <Texture2D> texture2DList = new List <Texture2D>(); foreach (GITextureType previewTextureType in this.kObjectPreviewTextureTypes) { texture2DList.Add(LightmapVisualizationUtility.GetGITexture(previewTextureType)); } if (texture2DList.Count == 0) { return; } if (this.m_ZoomablePreview == null) { this.m_ZoomablePreview = new ZoomableArea(true); this.m_ZoomablePreview.hRangeMin = 0.0f; this.m_ZoomablePreview.vRangeMin = 0.0f; this.m_ZoomablePreview.hRangeMax = 1f; this.m_ZoomablePreview.vRangeMax = 1f; this.m_ZoomablePreview.SetShownHRange(0.0f, 1f); this.m_ZoomablePreview.SetShownVRange(0.0f, 1f); this.m_ZoomablePreview.uniformScale = true; this.m_ZoomablePreview.scaleWithWindow = true; } GUI.Box(r, string.Empty, (GUIStyle)"PreBackground"); Rect position1 = new Rect(r); ++position1.y; position1.height = 18f; GUI.Box(position1, string.Empty, EditorStyles.toolbar); Rect position2 = new Rect(r); ++position2.y; position2.height = 18f; position2.width = 120f; Rect rect1 = new Rect(r); rect1.yMin += position2.height; rect1.yMax -= 14f; rect1.width -= 11f; int selectedIndex = Array.IndexOf <GUIContent>(LightingWindowObjectTab.kObjectPreviewTextureOptions, this.m_SelectedObjectPreviewTexture); if (selectedIndex < 0) { selectedIndex = 0; } int index = EditorGUI.Popup(position2, selectedIndex, LightingWindowObjectTab.kObjectPreviewTextureOptions, EditorStyles.toolbarPopup); if (index >= LightingWindowObjectTab.kObjectPreviewTextureOptions.Length) { index = 0; } this.m_SelectedObjectPreviewTexture = LightingWindowObjectTab.kObjectPreviewTextureOptions[index]; LightmapType lightmapType = this.kObjectPreviewTextureTypes[index] == GITextureType.Baked || this.kObjectPreviewTextureTypes[index] == GITextureType.BakedDirectional ? LightmapType.StaticLightmap : LightmapType.DynamicLightmap; SerializedProperty property = new SerializedObject(LightmapEditorSettings.GetLightmapSettings()).FindProperty("m_LightmapsMode"); bool flag = (this.kObjectPreviewTextureTypes[index] == GITextureType.Baked || this.kObjectPreviewTextureTypes[index] == GITextureType.BakedDirectional) && property.intValue == 2; if (flag) { GUIContent content = GUIContent.Temp("Indirect"); Rect position3 = position2; position3.x += position2.width; position3.width = EditorStyles.toolbarButton.CalcSize(content).x; this.m_HasSeparateIndirectUV = GUI.Toggle(position3, this.m_HasSeparateIndirectUV, content.text, EditorStyles.toolbarButton); } switch (Event.current.type) { case EventType.ValidateCommand: case EventType.ExecuteCommand: if (Event.current.commandName == "FrameSelected") { Vector4 lightmapTilingOffset = LightmapVisualizationUtility.GetLightmapTilingOffset(lightmapType); Vector2 lhs1 = new Vector2(lightmapTilingOffset.z, lightmapTilingOffset.w); Vector2 lhs2 = lhs1 + new Vector2(lightmapTilingOffset.x, lightmapTilingOffset.y); lhs1 = Vector2.Max(lhs1, Vector2.zero); Vector2 vector2 = Vector2.Min(lhs2, Vector2.one); float num1 = 1f - lhs1.y; lhs1.y = 1f - vector2.y; vector2.y = num1; Rect rect2 = new Rect(lhs1.x, lhs1.y, vector2.x - lhs1.x, vector2.y - lhs1.y); rect2.x -= Mathf.Clamp(rect2.height - rect2.width, 0.0f, float.MaxValue) / 2f; rect2.y -= Mathf.Clamp(rect2.width - rect2.height, 0.0f, float.MaxValue) / 2f; // ISSUE: explicit reference operation // ISSUE: variable of a reference type Rect& local = @rect2; float num2 = Mathf.Max(rect2.width, rect2.height); rect2.height = num2; double num3 = (double)num2; // ISSUE: explicit reference operation (^ local).width = (float)num3; if (flag && this.m_HasSeparateIndirectUV) { rect2.x += 0.5f; } this.m_ZoomablePreview.shownArea = rect2; Event.current.Use(); break; } break; case EventType.Repaint: Texture2D texture = texture2DList[index]; if ((bool)((UnityEngine.Object)texture) && Event.current.type == EventType.Repaint) { Rect position3 = new Rect(this.ScaleRectByZoomableArea(this.CenterToRect(this.ResizeRectToFit(new Rect(0.0f, 0.0f, (float)texture.width, (float)texture.height), rect1), rect1), this.m_ZoomablePreview)); position3.x += 3f; position3.y += rect1.y + 20f; Rect drawableArea = new Rect(rect1); drawableArea.y += position2.height + 3f; float num = drawableArea.y - 14f; position3.y -= num; drawableArea.y -= num; UnityEngine.FilterMode filterMode = texture.filterMode; texture.filterMode = UnityEngine.FilterMode.Point; GITextureType previewTextureType = this.kObjectPreviewTextureTypes[index]; bool drawSpecularUV = flag && this.m_HasSeparateIndirectUV; LightmapVisualizationUtility.DrawTextureWithUVOverlay(texture, Selection.activeGameObject, drawableArea, position3, previewTextureType, drawSpecularUV); texture.filterMode = filterMode; break; } break; } if (this.m_PreviousSelection != Selection.activeInstanceID) { this.m_PreviousSelection = Selection.activeInstanceID; this.m_ZoomablePreview.SetShownHRange(0.0f, 1f); this.m_ZoomablePreview.SetShownVRange(0.0f, 1f); } Rect rect3 = new Rect(r); rect3.yMin += position2.height; this.m_ZoomablePreview.rect = rect3; this.m_ZoomablePreview.BeginViewGUI(); this.m_ZoomablePreview.EndViewGUI(); GUILayoutUtility.GetRect(r.width, r.height); }