diff --git a/Assets/Fungus/Docs/CHANGELOG.txt b/Assets/Fungus/Docs/CHANGELOG.txt index e95a639e..e56d654e 100644 --- a/Assets/Fungus/Docs/CHANGELOG.txt +++ b/Assets/Fungus/Docs/CHANGELOG.txt @@ -1,6 +1,38 @@ Changelog {#changelog} ========= -[TOC] + +v3.12.0 rc1 +====== + +## Added + +- Search should search commands, not just block names (#775). Thanks to AcademyOfF +- Debug additions (#777) righclicking context menus additions and improvements on commands, blocks, and variables +- BlockCallers can be seen within the block inspector +- Variable referencers can be seen logged to the console +- Added a custom script importer for lua files. Thanks to Matthew Barnes +- Added Asmdefs +- Fungus Editor Prefs button to locate FungusEditorResources and changelog + +## Fixed + +- Defines and fallbacks for 2017 and 2018 (#781) +- CommandListAdapter sync command selection bidirectionally with selection in underlying reorderablelist +- Command text with 'Error:' shows red +- HighSpeedWriterFix; corrected rate of characters and more than 1 character per frame issue. +- FilterBlocks during SceneChange, now refresh as expected +- Command and Variables outside of Fungus assembly now locate +- Character selection preventing edits bug +- Restore Edit Mode Tests + +## Changed + +- FungusManager.cs Use "double checked locking" algorithm to implement the singleton for "FungusManager" class, which can improve performance. Thanks to AndyHan1001 +- CommandSearchHeightFallback on some versions of Unity editor inspector height is not returning correctly so we make an educated guess if it seems unreliable +- More elaborated use of text in TMPro demo +- Block Inspector forces type at creation. Thanks to Michaelwolf95 +- Warning when requesting menu elements that are not avaialble, such as more menu items that you have created. + v3.11.5 {#v3.11.5} ====== diff --git a/Assets/Fungus/Scripts/Components/FungusManager.cs b/Assets/Fungus/Scripts/Components/FungusManager.cs index 45ebf836..7076d4eb 100644 --- a/Assets/Fungus/Scripts/Components/FungusManager.cs +++ b/Assets/Fungus/Scripts/Components/FungusManager.cs @@ -19,9 +19,9 @@ namespace Fungus #endif public sealed class FungusManager : MonoBehaviour { - static FungusManager instance; + volatile static FungusManager instance; // The keyword "volatile" is friendly to the multi-thread. static bool applicationIsQuitting = false; - static object _lock = new object(); + readonly static object _lock = new object(); // The keyword "readonly" is friendly to the multi-thread. void Awake() { @@ -96,18 +96,23 @@ namespace Fungus return null; } - lock (_lock) + // Use "double checked locking" algorithm to implement the singleton for this "FungusManager" class, which can improve performance. + if (instance == null) { - if (instance == null) + lock (_lock) { - var go = new GameObject(); - go.name = "FungusManager"; - DontDestroyOnLoad(go); - instance = go.AddComponent(); - } + if (instance == null) + { + var go = new GameObject(); + go.name = "FungusManager"; + DontDestroyOnLoad(go); + instance = go.AddComponent(); + } - return instance; + } } + + return instance; } }