Skip to content

Commit 5efc9d9

Browse files
author
Unity Technologies
committed
Unity 2019.3.0b8 C# reference source code
1 parent 90438f1 commit 5efc9d9

File tree

62 files changed

+560
-212
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+560
-212
lines changed

Editor/Mono/2D/SpriteAtlas/SpriteAtlasInspector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ void OnEnable()
194194
m_VariantScale = serializedObject.FindProperty("m_EditorData.variantMultiplier");
195195

196196
m_Packables = serializedObject.FindProperty("m_EditorData.packables");
197-
m_PackableList = new ReorderableList(serializedObject, m_Packables, true, true, true, true);
197+
m_PackableList = new ReorderableList(serializedObject, m_Packables, true, false, true, true);
198198
m_PackableList.onAddCallback = AddPackable;
199199
m_PackableList.onRemoveCallback = RemovePackable;
200200
m_PackableList.drawElementCallback = DrawPackableElement;

Editor/Mono/Animation/AnimationWindow/AnimEditor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ private void FrameRateInputFieldOnGUI()
575575

576576
using (new EditorGUI.DisabledScope(!selection.animationIsEditable))
577577
{
578-
GUILayout.Label(AnimationWindowStyles.samples, EditorStyles.miniLabel);
578+
GUILayout.Label(AnimationWindowStyles.samples, EditorStyles.toolbarLabel);
579579

580580
EditorGUI.BeginChangeCheck();
581581
int clipFrameRate = EditorGUILayout.DelayedIntField((int)m_State.clipFrameRate, EditorStyles.toolbarTextField, GUILayout.Width(kIntFieldWidth));

Editor/Mono/Annotation/SceneRenderModeWindow.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ private float windowHeight
167167
modes = Styles.sBuiltinCameraModes.Length + SceneView.userDefinedModes.Count(mode => m_SceneView.IsCameraDrawModeEnabled(mode));
168168
}
169169

170-
int separators = headers - 2;
170+
int separators = headers - 1;
171171
return ((headers + modes) * EditorGUI.kSingleLineHeight) + (kSeparatorHeight * separators) + kShowLightmapResolutionHeight;
172172
}
173173
}

Editor/Mono/AssetModificationProcessor.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ static void FileModeChanged(string[] assets, UnityEditor.VersionControl.FileMode
118118
if (!Provider.enabled)
119119
return;
120120

121+
// if we happen to be disconnected or work offline, there's not much we can do;
122+
// just ignore the file mode and hope that VCS client/project is setup to handle
123+
// appropriate file types correctly
124+
if (!Provider.isActive)
125+
return;
126+
121127
// we'll want to re-serialize these assets in different (text vs binary) mode;
122128
// make sure they are editable first
123129
AssetDatabase.MakeEditable(assets);

Editor/Mono/Callbacks.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ internal sealed partial class RegisterPluginsAttribute : CallbackOrderAttribute
3636
public RegisterPluginsAttribute(int callbackOrder) { m_CallbackOrder = callbackOrder; }
3737

3838
[RequiredSignature]
39-
extern static IEnumerable<PluginDesc> Signature(BuildTarget target);
39+
static IEnumerable<PluginDesc> Signature(BuildTarget target) { throw new InvalidOperationException(); }
4040
}
4141

4242
[RequiredByNativeCode]
@@ -46,7 +46,7 @@ public sealed partial class PostProcessBuildAttribute : CallbackOrderAttribute
4646
public PostProcessBuildAttribute(int callbackOrder) { m_CallbackOrder = callbackOrder; }
4747

4848
[RequiredSignature]
49-
extern static void Signature(BuildTarget target, string pathToBuiltProject);
49+
static void Signature(BuildTarget target, string pathToBuiltProject) { throw new InvalidOperationException(); }
5050
}
5151

5252
[RequiredByNativeCode]
@@ -62,7 +62,7 @@ public sealed partial class PostProcessSceneAttribute : CallbackOrderAttribute
6262
public PostProcessSceneAttribute(int callbackOrder, int version) { m_CallbackOrder = callbackOrder; m_version = version; }
6363

6464
[RequiredSignature]
65-
extern static void Signature();
65+
static void Signature() { throw new InvalidOperationException(); }
6666
}
6767

6868
[RequiredByNativeCode]
@@ -73,7 +73,7 @@ public sealed partial class DidReloadScripts : CallbackOrderAttribute
7373
public DidReloadScripts(int callbackOrder) { m_CallbackOrder = callbackOrder; }
7474

7575
[RequiredSignature]
76-
extern static void Signature();
76+
static void Signature() { throw new InvalidOperationException(); }
7777
}
7878

7979
// Add this attribute to a static method to get a callback for opening an asset inside Unity before trying to open it with an external tool
@@ -84,10 +84,10 @@ public sealed partial class OnOpenAssetAttribute : CallbackOrderAttribute
8484
public OnOpenAssetAttribute(int callbackOrder) { m_CallbackOrder = callbackOrder; }
8585

8686
[RequiredSignature]
87-
extern static bool SignatureLine(int instanceID, int line);
87+
static bool SignatureLine(int instanceID, int line) { throw new InvalidOperationException(); }
8888

8989
[RequiredSignature]
90-
extern static bool SignatureLineColumn(int instanceID, int line, int column);
90+
static bool SignatureLineColumn(int instanceID, int line, int column) { throw new InvalidOperationException(); }
9191
}
9292
}
9393
}

Editor/Mono/CollectImportedDependenciesAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public CollectImportedDependenciesAttribute(Type importerType, uint version)
2828
public uint version { get { return m_Version; } }
2929

3030
[RequiredSignature]
31-
static extern string[] CollectImportedDependenciesSignature(string assetPath);
31+
static string[] CollectImportedDependenciesSignature(string assetPath) { throw new InvalidOperationException(); }
3232
}
3333

3434
static class ImportedDependenciesApi

Editor/Mono/ContainerWindow.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ internal bool IsNotDocked()
198198
return ( // hallelujah
199199

200200
(m_ShowMode == (int)ShowMode.Utility || m_ShowMode == (int)ShowMode.AuxWindow) ||
201-
(m_ShowMode == (int)ShowMode.MainWindow && (rootView is HostView || rootView is MainView)) ||
201+
(m_ShowMode == (int)ShowMode.MainWindow && rootView is HostView) ||
202202
(rootView is SplitView &&
203203
rootView.children.Length == 1 &&
204204
rootView.children[0] is DockArea &&

Editor/Mono/EditorGUI.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,10 +1727,13 @@ internal static string ToolbarSearchField(int id, Rect position, string[] search
17271727
{
17281728
using (new DisabledScope(true))
17291729
{
1730-
var placeHolderTextRect = position;
1730+
var placeHolderTextRect = EditorStyles.toolbarSearchFieldPopup.padding.Remove(new Rect(position.x, position.y, position.width
1731+
, EditorStyles.toolbarSearchFieldPopup.fixedHeight > 0 ? EditorStyles.toolbarSearchFieldPopup.fixedHeight : position.height));
1732+
var oldFontSize = EditorStyles.label.fontSize;
17311733

1732-
placeHolderTextRect.xMin += EditorStyles.toolbarSearchFieldPopup.padding.right;
1734+
EditorStyles.label.fontSize = EditorStyles.toolbarSearchFieldPopup.fontSize;
17331735
EditorStyles.label.Draw(placeHolderTextRect, EditorGUIUtility.TempContent(searchModes[searchMode]), false, false, false, false);
1736+
EditorStyles.label.fontSize = oldFontSize;
17341737
}
17351738
}
17361739

Editor/Mono/EditorHeaderItemAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ public EditorHeaderItemAttribute(Type targetType, int priority = 1)
2121
public Type TargetType;
2222

2323
[RequiredSignature]
24-
static extern bool SignatureBool(Rect rectangle, UnityEngine.Object[] targetObjets);
24+
static bool SignatureBool(Rect rectangle, UnityEngine.Object[] targetObjets) { throw new InvalidOperationException(); }
2525
}
2626
}

Editor/Mono/EditorWindow.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,12 @@ internal void SetPlayModeViewSize(Vector2 targetSize)
10211021
m_Parent.SetInternalGameViewDimensions(m_GameViewRect, m_GameViewClippedRect, m_GameViewTargetSize);
10221022
}
10231023

1024+
internal void SetMainPlayModeViewSize(Vector2 targetSize)
1025+
{
1026+
if (m_Parent != null)
1027+
m_Parent.SetMainPlayModeViewSize(targetSize);
1028+
}
1029+
10241030
internal void SetPlayModeView(bool value)
10251031
{
10261032
m_IsPlayModeView = value;

Editor/Mono/GUI/AboutWindow.cs

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System;
77
using System.Collections;
88
using System.Collections.Generic;
9+
using System.Diagnostics;
910
using UnityEditor;
1011
using UnityEditor.VisualStudioIntegration;
1112
using UnityEditorInternal;
@@ -16,15 +17,22 @@ internal class AboutWindow : EditorWindow
1617
{
1718
static void ShowAboutWindow()
1819
{
19-
AboutWindow w = EditorWindow.GetWindowWithRect<AboutWindow>(new Rect(100, 100, 570, 340), true, "About Unity");
20-
w.position = new Rect(100, 100, 570, 340);
20+
AboutWindow w = EditorWindow.GetWindowWithRect<AboutWindow>(new Rect(100, 100, 570, 360), true, "About Unity");
21+
w.position = new Rect(100, 100, 570, 360);
2122
w.m_Parent.window.m_DontSaveToLayout = true;
2223
}
2324

2425
private static GUIContent s_MonoLogo, s_AgeiaLogo, s_Header;
2526

2627
private const string kSpecialThanksNames = "Thanks to Forest 'Yoggy' Johnson, Graham McAllister, David Janik-Jones, Raimund Schumacher, Alan J. Dickins and Emil 'Humus' Persson";
2728

29+
static class Styles
30+
{
31+
public static GUIContent thanksContent = new GUIContent("Special thanks to our beta users");
32+
public static GUIStyle thanksStyle = EditorStyles.FromUSS("About-Thanks-Label");
33+
public static Uri thanksUri = new Uri("https://unity.com/releases/2019-3/thanks");
34+
}
35+
2836
private static void LoadLogos()
2937
{
3038
if (s_MonoLogo != null)
@@ -142,14 +150,22 @@ public void OnGUI()
142150
GUILayout.Label(s_MonoLogo);
143151
GUILayout.Label("Scripting powered by The Mono Project.\n\n(c) 2011 Novell, Inc.", "MiniLabel", GUILayout.Width(200));
144152
GUILayout.Label(s_AgeiaLogo);
145-
GUILayout.Label("Physics powered by PhysX.\n\n(c) 2011 NVIDIA Corporation.", "MiniLabel", GUILayout.Width(200));
153+
GUILayout.Label("Physics powered by PhysX.\n\n(c) 2019 NVIDIA Corporation.", "MiniLabel", GUILayout.Width(200));
146154
GUILayout.EndHorizontal();
147155
GUILayout.FlexibleSpace();
148156
GUILayout.BeginHorizontal();
149157
GUILayout.Space(5);
150158
GUILayout.BeginVertical();
151159
GUILayout.FlexibleSpace();
152160

161+
var specialThanksRect = GUILayoutUtility.GetRect(Styles.thanksContent, Styles.thanksStyle);
162+
if (GUI.Button(specialThanksRect, Styles.thanksContent, Styles.thanksStyle))
163+
{
164+
Process.Start(Styles.thanksUri.AbsoluteUri);
165+
}
166+
167+
EditorGUIUtility.AddCursorRect(specialThanksRect, MouseCursor.Link);
168+
153169
var VSTUlabel = UnityVSSupport.GetAboutWindowLabel();
154170
if (VSTUlabel.Length > 0)
155171
GUILayout.Label(VSTUlabel, "MiniLabel");

Editor/Mono/GUIView.bindings.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ internal partial class GUIView
3737
internal extern void AddToAuxWindowList();
3838
internal extern void RemoveFromAuxWindowList();
3939
internal extern void SetInternalGameViewDimensions(Rect rect, Rect clippedRect, Vector2 targetSize);
40+
internal extern void SetMainPlayModeViewSize(Vector2 targetSize);
4041
internal extern void SetAsStartView();
4142
internal extern void SetAsLastPlayModeView();
4243
internal extern void SetPlayModeView(bool value);

Editor/Mono/GameView/GameView.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,10 @@ private void OnGUI()
739739

740740
m_ZoomArea.BeginViewGUI();
741741

742+
// Window size might change on Layout event
743+
if (type == EventType.Layout)
744+
targetSize = targetRenderSize;
745+
742746
// Setup game view dimensions, so that player loop can use it for input
743747
var gameViewTarget = GUIClip.UnclipToWindow(m_ZoomArea.drawRect);
744748
if (m_Parent)

Editor/Mono/ImportSettings/DesktopPluginImporterExtension.cs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ internal enum DesktopPluginCPUArchitecture
2222

2323
internal class DesktopSingleCPUProperty : Property
2424
{
25-
public DesktopSingleCPUProperty(GUIContent name, string platformName)
26-
: this(name, platformName, DesktopPluginCPUArchitecture.AnyCPU)
27-
{
28-
}
29-
3025
public DesktopSingleCPUProperty(GUIContent name, string platformName, DesktopPluginCPUArchitecture architecture)
3126
: base(name, "CPU", architecture, platformName)
3227
{
@@ -49,7 +44,7 @@ internal override void OnGUI(PluginImporterInspector inspector)
4944
// This toggle controls two things:
5045
// * Is platform enabled/disabled?
5146
// * Platform CPU value
52-
bool isTargetEnabled = EditorGUILayout.Toggle(name, IsTargetEnabled(inspector) && value.ToString() == defaultValue.ToString());
47+
bool isTargetEnabled = EditorGUILayout.Toggle(name, IsTargetEnabled(inspector));
5348
if (EditorGUI.EndChangeCheck())
5449
{
5550
value = isTargetEnabled ? defaultValue : DesktopPluginCPUArchitecture.None;
@@ -76,12 +71,12 @@ public DesktopPluginImporterExtension()
7671
private Property[] GetProperties()
7772
{
7873
List<Property> properties = new List<Property>();
79-
m_WindowsX86 = new DesktopSingleCPUProperty(EditorGUIUtility.TrTextContent("x86"), BuildPipeline.GetBuildTargetName(BuildTarget.StandaloneWindows));
80-
m_WindowsX86_X64 = new DesktopSingleCPUProperty(EditorGUIUtility.TrTextContent("x86_x64"), BuildPipeline.GetBuildTargetName(BuildTarget.StandaloneWindows64));
74+
m_WindowsX86 = new DesktopSingleCPUProperty(EditorGUIUtility.TrTextContent("x86"), BuildPipeline.GetBuildTargetName(BuildTarget.StandaloneWindows), DesktopPluginCPUArchitecture.x86);
75+
m_WindowsX86_X64 = new DesktopSingleCPUProperty(EditorGUIUtility.TrTextContent("x86_x64"), BuildPipeline.GetBuildTargetName(BuildTarget.StandaloneWindows64), DesktopPluginCPUArchitecture.x86_64);
8176

8277
m_LinuxX86_X64 = new DesktopSingleCPUProperty(EditorGUIUtility.TrTextContent("x86_x64"), BuildPipeline.GetBuildTargetName(BuildTarget.StandaloneLinux64), DesktopPluginCPUArchitecture.x86_64);
8378

84-
m_OSX_X64 = new DesktopSingleCPUProperty(EditorGUIUtility.TrTextContent("x64"), BuildPipeline.GetBuildTargetName(BuildTarget.StandaloneOSX));
79+
m_OSX_X64 = new DesktopSingleCPUProperty(EditorGUIUtility.TrTextContent("x64"), BuildPipeline.GetBuildTargetName(BuildTarget.StandaloneOSX), DesktopPluginCPUArchitecture.x86_64);
8580

8681
properties.Add(m_WindowsX86);
8782
properties.Add(m_WindowsX86_X64);
@@ -172,10 +167,10 @@ public void ValidateSingleCPUTargets(PluginImporterInspector inspector)
172167

173168
foreach (var target in singleCPUTargets)
174169
{
175-
string value = target.IsTargetEnabled(inspector) ? target.defaultValue.ToString() : DesktopPluginCPUArchitecture.None.ToString();
170+
target.value = target.IsTargetEnabled(inspector) ? target.defaultValue : DesktopPluginCPUArchitecture.None;
176171
foreach (var importer in inspector.importers)
177172
{
178-
importer.SetPlatformData(target.platformName, "CPU", value);
173+
importer.SetPlatformData(target.platformName, "CPU", target.value.ToString());
179174
}
180175
}
181176

Editor/Mono/Inspector/Avatar/AvatarMappingEditor.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ internal class Styles
7878

7979
private SerializedProperty m_HumanBoneArray;
8080
private SerializedProperty m_Skeleton;
81+
private SerializedProperty m_AutoGenerateAvatarMappingIfUnspecified;
8182

8283
protected bool[] m_BodyPartToggle;
8384
protected bool[] m_BodyPartFoldout;
@@ -163,6 +164,7 @@ protected void Init()
163164

164165
m_HumanBoneArray = serializedObject.FindProperty("m_HumanDescription.m_Human");
165166
m_Skeleton = serializedObject.FindProperty("m_HumanDescription.m_Skeleton");
167+
m_AutoGenerateAvatarMappingIfUnspecified = serializedObject.FindProperty("m_AutoGenerateAvatarMappingIfUnspecified");
166168

167169
m_IsBiped = AvatarBipedMapper.IsBiped(gameObject.transform, null);
168170

@@ -456,6 +458,7 @@ protected void AutoMapping()
456458
bone.bone = kvp.Value;
457459
bone.Serialize(m_HumanBoneArray);
458460
}
461+
m_AutoGenerateAvatarMappingIfUnspecified.boolValue = false;
459462
}
460463

461464
protected void BipedMapping()
@@ -467,6 +470,7 @@ protected void BipedMapping()
467470
bone.bone = kvp.Value;
468471
bone.Serialize(m_HumanBoneArray);
469472
}
473+
m_AutoGenerateAvatarMappingIfUnspecified.boolValue = false;
470474
}
471475

472476
protected void ClearMapping()
@@ -477,6 +481,7 @@ protected void ClearMapping()
477481
AvatarSetupTool.ClearHumanBoneArray(m_HumanBoneArray);
478482
ResetBones();
479483
ValidateMapping();
484+
m_AutoGenerateAvatarMappingIfUnspecified.boolValue = false;
480485
SceneView.RepaintAll();
481486
}
482487
}

Editor/Mono/Inspector/AvatarPreview.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ public void AvatarTimeControlGUI(Rect rect)
857857
sliderControlRect.xMin = sliderControlRect.xMax - kSliderWidth + kSpacing;
858858

859859
timeControl.DoTimeControl(timeControlRect);
860-
Rect labelRect = new Rect(new Vector2(rect.x, rect.y), EditorStyles.toolbarLabel.CalcSize(EditorGUIUtility.TrTempContent("xxxxx")));;
860+
Rect labelRect = new Rect(new Vector2(rect.x, rect.y), EditorStyles.toolbarLabel.CalcSize(EditorGUIUtility.TrTempContent("xxxxxx")));;
861861
labelRect.x = rect.xMax - labelRect.width;
862862
labelRect.yMin = rect.yMin;
863863
labelRect.yMax = rect.yMax;

Editor/Mono/Inspector/BlendTreeInspector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ internal override void OnHeaderTitleGUI(Rect titleRect, string header)
224224
serializedObject.Update();
225225

226226
Rect textFieldRect = titleRect;
227-
textFieldRect.height = 16f;
227+
textFieldRect.height = EditorGUI.kSingleLineHeight;
228228

229229
EditorGUI.BeginChangeCheck();
230230
EditorGUI.showMixedValue = m_Name.hasMultipleDifferentValues;
@@ -1360,7 +1360,7 @@ public void DrawChild(Rect r, int index, bool isActive, bool isFocused)
13601360
SerializedProperty motion = child.FindPropertyRelative("m_Motion");
13611361

13621362
r.y++;
1363-
r.height = 16;
1363+
r.height = EditorGUI.kSingleLineHeight;
13641364
Rect[] rects = GetRowRects(r, m_BlendType.intValue);
13651365
int col = 0;
13661366

Editor/Mono/Inspector/DirectorEditor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ private void DoDirectorBindingInspector()
154154
if (!m_BindingPropertiesCache.Any())
155155
return;
156156

157-
m_SceneBindings.isExpanded = EditorGUILayout.Foldout(m_SceneBindings.isExpanded, Styles.BindingsTitleContent);
157+
m_SceneBindings.isExpanded = EditorGUILayout.Foldout(m_SceneBindings.isExpanded, Styles.BindingsTitleContent, true);
158158
if (m_SceneBindings.isExpanded)
159159
{
160160
EditorGUI.indentLevel++;

Editor/Mono/Inspector/EdgeCollider2DEditor.cs

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,29 +55,49 @@ public void OnEnable()
5555
{
5656
EditorTools.EditorTools.activeToolChanged += OnActiveToolChanged;
5757
EditorTools.EditorTools.activeToolChanging += OnActiveToolChanging;
58+
Selection.selectionChanged += OnSelectionChanged;
5859
}
5960

6061
public void OnDisable()
6162
{
6263
EditorTools.EditorTools.activeToolChanged -= OnActiveToolChanged;
6364
EditorTools.EditorTools.activeToolChanging -= OnActiveToolChanging;
65+
Selection.selectionChanged -= OnSelectionChanged;
6466
}
6567

6668
public override void OnToolGUI(EditorWindow window)
6769
{
6870
m_PolyUtility.OnSceneGUI();
6971
}
7072

71-
void OnActiveToolChanged()
73+
void TryBeginEditing()
7274
{
73-
if (EditorTools.EditorTools.IsActiveTool(this))
75+
var collider = target as EdgeCollider2D;
76+
77+
if (EditorTools.EditorTools.IsActiveTool(this) && IsAvailable() && collider)
7478
m_PolyUtility.StartEditing(target as Collider2D);
7579
}
7680

77-
void OnActiveToolChanging()
81+
void TryEndEditing()
7882
{
7983
if (EditorTools.EditorTools.IsActiveTool(this))
8084
m_PolyUtility.StopEditing();
8185
}
86+
87+
void OnActiveToolChanged()
88+
{
89+
TryBeginEditing();
90+
}
91+
92+
void OnActiveToolChanging()
93+
{
94+
TryEndEditing();
95+
}
96+
97+
void OnSelectionChanged()
98+
{
99+
TryEndEditing();
100+
TryBeginEditing();
101+
}
82102
}
83103
}

0 commit comments

Comments
 (0)