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."); }
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."); } }
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>()); }
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."); }
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!"); }