Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
 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));
 }
Esempio n. 3
0
        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);
        }