Пример #1
0
        public static void CB_AddRespawnPoint()
        {
            // Will add this new tag to the inspector if it doesn't already exist
            E_Helpers.AddInspectorTag("RespawnPoint");

            GameObject respawnPoint = new GameObject("Respawn Point");

            respawnPoint.layer = 2;
            respawnPoint.tag   = "RespawnPoint";

            GameObject respawnPointParentGO = null;

            if (!GameObject.Find("Spawn Points"))
            {
                respawnPointParentGO       = new GameObject("Spawn Points");
                respawnPointParentGO.layer = 2;
                Debug.Log("Generated \"Spawn Points\" holder gameObject.");
            }
            else
            {
                respawnPointParentGO = GameObject.Find("Spawn Points");
            }
            respawnPoint.transform.SetParent(respawnPointParentGO.transform);
            respawnPoint.transform.position = E_Helpers.PositionInFrontOfEditorCamera();
            E_Helpers.SetObjectIcon(respawnPoint, E_Core.h_respawnPointIcon);
            Selection.activeGameObject = respawnPoint;
            Debug.Log("Added a new \"Respawn Point\" gameobject to the scene.");
        }
Пример #2
0
        private void AddNetworkManagerToScene()
        {
            // Will add this new tag to the inspector if it doesn't already exist
            E_Helpers.AddInspectorTag("SpawnPoint");

            GameObject _target = null;

            if (FindObjectOfType <NetworkManager>())
            {
                _target = FindObjectOfType <NetworkManager>().gameObject;
            }
            if (!_target)
            {
                _target = new GameObject("Network Manager");
            }
            if (!_target.GetComponent <NetworkManager>())
            {
                _target.AddComponent <NetworkManager>();
            }
            if (_target.GetComponent <NetworkManager>().defaultSpawnPoint == null)
            {
                GameObject spawnPoints = (GameObject.Find("Spawn Points")) ? GameObject.Find("Spawn Points") : new GameObject("Spawn Points");
                GameObject spawnPoint  = (GameObject.Find("Player Spawn Point")) ? GameObject.Find("Player Spawn Point") : new GameObject("Player Spawn Point");
                E_Helpers.SetObjectIcon(spawnPoint, E_Core.h_spawnPointIcon);
                _target.GetComponent <NetworkManager>().defaultSpawnPoint = spawnPoint.transform;
                spawnPoints.layer = 2;
                spawnPoint.layer  = 2;
                spawnPoint.tag    = "SpawnPoint";
                spawnPoint.transform.SetParent(spawnPoints.transform);
            }
            if (_target.GetComponent <NetworkManager>().database == null)
            {
                if (System.IO.File.Exists("Assets/Resources/ScenesDatabase/ScenesDatabase.asset"))
                {
                    SceneDatabase database = AssetDatabase.LoadAssetAtPath <SceneDatabase>("Assets/Resources/ScenesDatabase/ScenesDatabase.asset");
                    if (database)
                    {
                        _target.GetComponent <NetworkManager>().database = database;
                    }
                }
                else
                {
                    Debug.LogWarning("Was unable to automatically add a \"SceneDatabase\" to the database entry on the NetworkManager. Remember to add one before making your final build!");
                }
            }
            E_Helpers.SetObjectIcon(_target, E_Core.h_networkIcon);
            Selection.activeGameObject = _target;
            _target.layer = 2; // Ignore Raycast Layer
            if (!_target.GetComponent <PlayerRespawn>())
            {
                _target.AddComponent <PlayerRespawn>();
            }
            _target.GetComponent <PlayerRespawn>().visualCountdown = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/InvectorMultiplayer/UI/RespawnCounter.prefab");
            if (EditorUtility.DisplayDialog("Friendly Reminder", "Remember to adjust the spawn point to where you want it to be. \r\n" +
                                            "\r\n",
                                            "Okay"))
            {
                Debug.Log("Successfully added the \"Network Manager\" gameobject and assigned a Spawn Point.");
            }
        }
Пример #3
0
        public static void CB_COMP_SyncPlayer(GameObject target, ref List <string> log)
        {
            if (!target.GetComponent <SyncPlayer>())
            {
                E_Helpers.AddInspectorTag("OtherPlayer");
                E_Helpers.AddInspectorLayer("OtherPlayer");
                if (log != null)
                {
                    log.Add("Adding SyncPlayer Component to copied player");
                }
                target.AddComponent <SyncPlayer>();
            }

            E_CompHelper.AddCompToPhotonView(target, target.GetComponent <SyncPlayer>());
        }
Пример #4
0
        public static void CB_AddSpawnPoint()
        {
            // Will add this new tag to the inspector if it doesn't already exist
            E_Helpers.AddInspectorTag("SpawnPoint");

            GameObject spawnPoint = new GameObject("Player Spawn Point");

            spawnPoint.layer = 2;
            spawnPoint.tag   = "SpawnPoint";

            if (!FindObjectOfType <NetworkManager>())
            {
                if (EditorUtility.DisplayDialog("Missing Network Manager", "No NetworkManager object was found in this scene. Be sure to add one since that is what these spawn points are for. :) \r\n" +
                                                "\r\n" +
                                                "",
                                                "Okay"))
                {
                }
            }
            GameObject spawnPointParentGO = null;

            if (!GameObject.Find("Spawn Points"))
            {
                spawnPointParentGO       = new GameObject("Spawn Points");
                spawnPointParentGO.layer = 2;
                spawnPointParentGO.tag   = "SpawnPoints";
                Debug.Log("Generated \"Spawn Points\" holder gameObject.");
            }
            else
            {
                spawnPointParentGO = GameObject.Find("Spawn Points");
            }
            spawnPoint.transform.SetParent(spawnPointParentGO.transform);
            spawnPoint.transform.position = E_Helpers.PositionInFrontOfEditorCamera();
            E_Helpers.SetObjectIcon(spawnPoint, E_Core.h_spawnPointIcon);
            Selection.activeGameObject = spawnPoint;
            Debug.Log("Added a new \"Player Spawn Point\" gameobject to the scene.");
        }
Пример #5
0
        public static void CB_Scene_AddEntrance()
        {
            GameObject sceneManager = GameObject.Find("SceneManager");

            if (!sceneManager)
            {
                sceneManager = new GameObject("SceneManager");
            }

            if (!E_Helpers.InspectorTagExists("LoadPoint"))
            {
                E_Helpers.AddInspectorTag("LoadPoint");
            }
            GameObject entrancePoint = new GameObject("Scene Entrance Point");

            E_Helpers.SetObjectIcon(entrancePoint, E_Core.h_sceneEntranceIcon);
            entrancePoint.layer = 2;
            entrancePoint.tag   = "LoadPoint";
            entrancePoint.transform.SetParent(sceneManager.transform);
            entrancePoint.transform.position = E_Helpers.PositionInFrontOfEditorCamera();
            Selection.activeGameObject       = entrancePoint;
            Debug.Log("Successfully created scene entrance point!");
        }