This repository has been archived on 2023-09-13. You can view files and clone it, but cannot push or open issues or pull requests.
station_obscurum_unity/Assets/FishNet/Runtime/Managing/Scened/SceneSpawner.cs

356 lines
16 KiB
C#

//using FishNet.Managing.Scened.Data;
//using System;
//using UnityEngine;
//using UnityEngine.SceneManagement;
//namespace FishNet.Managing.Scened
//{
// public static class SceneSpawner
// {
// #region Prefab.
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(Scene scene, GameObject prefab)
// {
// return Instantiate<GameObject>(scene, prefab);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(Scene scene, GameObject prefab)
// {
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, null, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(SceneReferenceData sceneReferenceData, GameObject prefab)
// {
// return Instantiate<GameObject>(sceneReferenceData, prefab);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(SceneReferenceData sceneReferenceData, GameObject prefab)
// {
// Scene scene = SceneManager.ReturnScene(sceneReferenceData);
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, null, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(int sceneHandle, GameObject prefab)
// {
// return Instantiate<GameObject>(sceneHandle, prefab, prefab.transform.position, prefab.transform.rotation, null);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(int sceneHandle, GameObject prefab)
// {
// Scene scene = SceneManager.ReturnScene(sceneHandle);
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, null, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(string sceneName, GameObject prefab)
// {
// return Instantiate<GameObject>(sceneName, prefab);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(string sceneName, GameObject prefab)
// {
// Scene scene = SceneManager.ReturnScene(sceneName);
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, null, true);
// }
// #endregion
// #region Prefab, Parent, WorldSpace
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(Scene scene, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// return Instantiate<GameObject>(scene, prefab, parent, instantiateInWorldSpace);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(Scene scene, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, parent, instantiateInWorldSpace);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(SceneReferenceData sceneReferenceData, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// return Instantiate<GameObject>(sceneReferenceData, prefab, parent, instantiateInWorldSpace);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(SceneReferenceData sceneReferenceData, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// Scene scene = SceneManager.ReturnScene(sceneReferenceData);
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, parent, instantiateInWorldSpace);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(int sceneHandle, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// return Instantiate<GameObject>(sceneHandle, prefab, parent, instantiateInWorldSpace);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(int sceneHandle, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// Scene scene = SceneManager.ReturnScene(sceneHandle);
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, parent, instantiateInWorldSpace);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(string sceneName, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// return Instantiate<GameObject>(sceneName, prefab, parent, instantiateInWorldSpace);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(string sceneName, GameObject prefab, Transform parent, bool instantiateInWorldSpace = true)
// {
// Scene scene = SceneManager.ReturnScene(sceneName);
// return Instantiate<T>(scene, prefab, prefab.transform.position, prefab.transform.rotation, parent, instantiateInWorldSpace);
// }
// #endregion
// #region Prefab, Position, Rotation.
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(Scene scene, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// return Instantiate<GameObject>(scene, prefab, position, rotation);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(Scene scene, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// return Instantiate<T>(scene, prefab, position, rotation, null, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(SceneReferenceData sceneReferenceData, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// return Instantiate<GameObject>(sceneReferenceData, prefab, position, rotation);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(SceneReferenceData sceneReferenceData, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// Scene scene = SceneManager.ReturnScene(sceneReferenceData);
// return Instantiate<T>(scene, prefab, position, rotation, null, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(int sceneHandle, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// return Instantiate<GameObject>(sceneHandle, prefab, position, rotation);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(int sceneHandle, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// Scene scene = SceneManager.ReturnScene(sceneHandle);
// return Instantiate<T>(scene, prefab, position, rotation, null, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(string sceneName, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// return Instantiate<GameObject>(sceneName, prefab, position, rotation);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(string sceneName, GameObject prefab, Vector3 position, Quaternion rotation)
// {
// Scene scene = SceneManager.ReturnScene(sceneName);
// return Instantiate<T>(scene, prefab, position, rotation, null, true);
// }
// #endregion
// #region Prefab, Position, Rotation, Parent.
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(Scene scene, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// return Instantiate<GameObject>(scene, prefab, position, rotation, parent);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(Scene scene, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// return Instantiate<T>(scene, prefab, position, rotation, parent, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(SceneReferenceData sceneReferenceData, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// return Instantiate<GameObject>(sceneReferenceData, prefab, position, rotation, parent);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(SceneReferenceData sceneReferenceData, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// Scene scene = SceneManager.ReturnScene(sceneReferenceData);
// return Instantiate<T>(scene, prefab, position, rotation, parent, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(int sceneHandle, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// return Instantiate<GameObject>(sceneHandle, prefab, position, rotation, parent);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(int sceneHandle, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// Scene scene = SceneManager.ReturnScene(sceneHandle);
// return Instantiate<T>(scene, prefab, position, rotation, parent, true);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static GameObject Instantiate(string sceneName, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// return Instantiate<GameObject>(sceneName, prefab, position, rotation, parent);
// }
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// public static T Instantiate<T>(string sceneName, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
// {
// Scene scene = SceneManager.ReturnScene(sceneName);
// return Instantiate<T>(scene, prefab, position, rotation, parent, true);
// }
// #endregion
// #region Instantiator.
// /// <summary>
// /// Instantiates a prefab and moves it to a scene.
// /// </summary>
// /// <returns>Instantiated prefab or script.</returns>
// private static T Instantiate<T>(Scene scene, GameObject prefab, Vector3 position, Quaternion rotation, Transform parent, bool instantiateInWorldSpace)
// {
// if (string.IsNullOrEmpty(scene.name))
// {
// Debug.LogWarning("Scene does not exist. Prefab cannot be instantiated.");
// return default(T);
// }
// GameObject result = MonoBehaviour.Instantiate(prefab, position, rotation);
// if (result != null)
// {
// //Move to new scene first.
// UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(result, scene);
// //Set parent and spaces.
// if (parent != null)
// {
// result.transform.SetParent(parent);
// //If to not instantiate in world space then update pos/rot to localspace.
// if (!instantiateInWorldSpace)
// {
// result.transform.localPosition = position;
// result.transform.localRotation = rotation;
// }
// }
// //If was a gameobject then return as GO.
// if (typeof(T) == typeof(GameObject))
// return (T)Convert.ChangeType(result, typeof(GameObject));
// //Otherwise use getcomponent on the type.
// else
// return result.GetComponent<T>();
// }
// //Couldn't be instantiated, return default of T.
// else
// {
// return default(T);
// }
// }
// #endregion
// }
//}