public override void OnFocus() { if ((Object)this.bootstrap == (Object)null) { this.bootstrap = plyEdUtil.LoadPrefab <Bootstrap>(BloxEdGlobal.BootstrapFabPath); } if ((Object)this.settings == (Object)null) { plyEdUtil.CheckPath(BloxEdGlobal.ResourcesRoot); this.settings = plyEdUtil.LoadOrCreateAsset <BGSSettings>(BloxEdGlobal.ResourcesRoot + "BGSSettings.asset", true); } }
static BloxEdGlobal() { BloxEdGlobal.DataRoot = plyEdUtil.DataRoot + "Blox/"; BloxEdGlobal.ResourcesRoot = plyEdUtil.DataRoot + "Resources/Blox/"; BloxEdGlobal.DocsPath = BloxEdGlobal.DataRoot + "docs/"; BloxEdGlobal.DefsPath = BloxEdGlobal.DataRoot + "defs/"; BloxEdGlobal.ProvidersPath = BloxEdGlobal.DataRoot + "dataproviders/"; BloxEdGlobal.ScriptPath = BloxEdGlobal.DataRoot + "scripts/"; BloxEdGlobal.MiscPath = BloxEdGlobal.DataRoot + "data/"; BloxEdGlobal.ScenesPath = BloxEdGlobal.DataRoot + "scenes/"; BloxEdGlobal.BootstrapScenePath = BloxEdGlobal.ScenesPath + "00-bootstrap.unity"; BloxEdGlobal.BootstrapFabPath = BloxEdGlobal.ScenesPath + "Bootstrap.prefab"; BloxEdGlobal.BloxGlobalFabPath = BloxEdGlobal.DataRoot + "BloxGlobal.prefab"; BloxEdGlobal.URL_DOCS = "https://plyoung.github.io/blox.html"; BloxEdGlobal.URL_SUPPORT = "http://forum.plyoung.com/c/blox-3/"; BloxEdGlobal.URL_STORE = "https://www.assetstore.unity3d.com/#!/content/62473?aid=1101lGtB"; BloxEdGlobal.DoubleClickOpenBloxDef = true; BloxEdGlobal.CanvasColour = new Color(0.15f, 0.27f, 0.31f, 1f); BloxEdGlobal.BlocksListMode = plyEdTreeViewDrawMode.List; BloxEdGlobal.DelayedSearch = false; BloxEdGlobal.BlocksListDocked = true; BloxEdGlobal.ShowBloxIconInHierarchyPanel = true; BloxEdGlobal.ShowBloxIconInProjectPanel = false; BloxEdGlobal.GUIDScriptNames = true; BloxEdGlobal.SaveBrokenScripts = false; BloxEdGlobal.BlockTheme = 0; BloxEdGlobal.playTestingMode = 0; BloxEdGlobal._gameSystemsSettings = null; BloxEdGlobal._managedImages = null; BloxEdGlobal._attributeDefs = null; BloxEdGlobal._skillDefs = null; plyEdGizmoIconManager.RegisterIconPack(plyEdUtil.PackagesFullPath + "Blox/packages/Blox-Icons.zip", "Assets/Gizmos/BloxEngine/BloxContainer icon.png"); plyEdToolbar.AddButtons(new List <plyEdToolbar.ToolbarButton> { new plyEdToolbar.ToolbarButton { label = new GUIContent(Ico._play, "Start Game"), order = 0, callback = BloxEdGlobal.Menu_StartGame }, new plyEdToolbar.ToolbarButton { label = new GUIContent(Ico._unirpg, "Open Blox Game Systems Window"), order = 1, callback = BloxEdGlobal.Menu_ShowBGSWindow } }); EditorApplication.hierarchyWindowItemOnGUI = (EditorApplication.HierarchyWindowItemCallback)Delegate.Combine(EditorApplication.hierarchyWindowItemOnGUI, new EditorApplication.HierarchyWindowItemCallback(BloxEdGlobal.UpdateHierarchyItemIcon)); EditorApplication.projectWindowItemOnGUI = (EditorApplication.ProjectWindowItemCallback)Delegate.Combine(EditorApplication.projectWindowItemOnGUI, new EditorApplication.ProjectWindowItemCallback(BloxEdGlobal.UpdateProjectItemIcon)); EditorApplication.delayCall = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.delayCall, new EditorApplication.CallbackFunction(BloxEdGlobal.DelayCall)); EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.update, new EditorApplication.CallbackFunction(BloxEdGlobal.OnUpdate)); }
public static void CheckBootstrap() { plyEdUtil.CheckPath(BloxEdGlobal.DataRoot); plyEdUtil.CheckPath(BloxEdGlobal.ScenesPath); plyEdUtil.CheckPath(BloxEdGlobal.ResourcesRoot); BloxEdGlobal._gameSystemsSettings = plyEdUtil.LoadOrCreateAsset <BGSSettings>(BloxEdGlobal.ResourcesRoot + "BGSSettings.asset", true); GameObject gameObject = plyEdUtil.LoadPrefab(BloxEdGlobal.BootstrapFabPath); if ((UnityEngine.Object)gameObject == (UnityEngine.Object)null) { gameObject = plyEdUtil.CreatePrefab <Bootstrap>("Bootstrap", BloxEdGlobal.BootstrapFabPath); AssetDatabase.SaveAssets(); } Bootstrap component = gameObject.GetComponent <Bootstrap>(); if ((UnityEngine.Object)component == (UnityEngine.Object)null) { gameObject.AddComponent <Bootstrap>(); plyEdUtil.SetDirty(gameObject); } if ((UnityEngine.Object)component.bloxGlobalPrefab != (UnityEngine.Object)BloxEd.BloxGlobalPrefab) { component.bloxGlobalPrefab = BloxEd.BloxGlobalPrefab; plyEdUtil.SetDirty(component); } if (!plyEdUtil.RelativeFileExist(BloxEdGlobal.BootstrapScenePath)) { if (!EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) { EditorUtility.DisplayDialog("Blox Game Systems", "Could not check the Bootstrap scene and data. You can complete this action via menu: Blox > Check Data.", "OK"); return; } Scene scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene); GameObject obj = (GameObject)PrefabUtility.InstantiatePrefab(gameObject, scene); obj.name = "[Bootstrap]"; plyEdUtil.SetDirty(obj); EditorSceneManager.MarkSceneDirty(scene); EditorSceneManager.SaveScene(scene, BloxEdGlobal.BootstrapScenePath); EditorSceneManager.NewScene(NewSceneSetup.EmptyScene); } plyEdUtil.AddSceneToBuildSettings(BloxEdGlobal.BootstrapScenePath, true); }