public static Prefab <T> LoadRandom <T>( string folder, ref uint seed, GameManager manager = null, PrefabAttribute.Library attribute = null, bool useProbabilities = true) where T : Component { if (string.IsNullOrEmpty(folder)) { return((Prefab <T>)null); } if (manager == null) { manager = Prefab.DefaultManager; } if (attribute == null) { attribute = Prefab.DefaultAttribute; } string[] prefabNames = Prefab.FindPrefabNames(folder, useProbabilities); if (prefabNames.Length == 0) { return((Prefab <T>)null); } string str = prefabNames[SeedRandom.Range(ref seed, 0, prefabNames.Length)]; GameObject prefab = manager.FindPrefab(str); T component = prefab.GetComponent <T>(); return(new Prefab <T>(str, prefab, component, manager, attribute)); }
public static Prefab[] Load( string folder, GameManager manager = null, PrefabAttribute.Library attribute = null, bool useProbabilities = true) { if (string.IsNullOrEmpty(folder)) { return((Prefab[])null); } if (manager == null) { manager = Prefab.DefaultManager; } if (attribute == null) { attribute = Prefab.DefaultAttribute; } string[] prefabNames = Prefab.FindPrefabNames(folder, useProbabilities); Prefab[] prefabArray = new Prefab[prefabNames.Length]; for (int index = 0; index < prefabArray.Length; ++index) { string str = prefabNames[index]; GameObject prefab = manager.FindPrefab(str); prefabArray[index] = new Prefab(str, prefab, manager, attribute); } return(prefabArray); }
public virtual void PreProcess(IPrefabProcessor preProcess, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling) { if (bundling) { return; } this.fullName = name; this.hierachyName = base.transform.GetRecursiveName(""); this.prefabID = StringPool.Get(name); this.instanceID = base.GetInstanceID(); this.worldPosition = base.transform.position; this.worldRotation = base.transform.rotation; this.worldForward = base.transform.forward; this.localPosition = base.transform.localPosition; this.localScale = base.transform.localScale; this.localRotation = base.transform.localRotation; if (serverside) { this.prefabAttribute = PrefabAttribute.server; this.gameManager = GameManager.server; this.isServer = true; } this.AttributeSetup(rootObj, name, serverside, clientside, bundling); if (serverside) { PrefabAttribute.server.Add(this.prefabID, this); } preProcess.RemoveComponent(this); preProcess.NominateForDeletion(base.gameObject); }
public Prefab(string name, GameObject prefab, GameManager manager, PrefabAttribute.Library attribute) { this.ID = StringPool.Get(name); this.Name = name; this.Object = prefab; this.Manager = manager; this.Attribute = attribute; this.Parameters = prefab.GetComponent <PrefabParameters>(); }
public static Prefab <T>[] Load <T>(string folder, GameManager manager = null, PrefabAttribute.Library attribute = null, bool useProbabilities = true) where T : Component { if (string.IsNullOrEmpty(folder)) { return(null); } return(Prefab.Load <T>(Prefab.FindPrefabNames(folder, useProbabilities), manager, attribute)); }
public Prefab( string name, GameObject prefab, T component, GameManager manager, PrefabAttribute.Library attribute) : base(name, prefab, manager, attribute) { this.Component = component; }
public static Prefab <T> Load <T>(uint id, GameManager manager = null, PrefabAttribute.Library attribute = null) where T : Component { if (manager == null) { manager = Prefab.DefaultManager; } if (attribute == null) { attribute = Prefab.DefaultAttribute; } string str = StringPool.Get(id); GameObject gameObject = manager.FindPrefab(str); return(new Prefab <T>(str, gameObject, gameObject.GetComponent <T>(), manager, attribute)); }
public static Prefab <T>[] Load <T>(string[] names, GameManager manager = null, PrefabAttribute.Library attribute = null) where T : Component { if (manager == null) { manager = Prefab.DefaultManager; } if (attribute == null) { attribute = Prefab.DefaultAttribute; } Prefab <T>[] prefab = new Prefab <T> [(int)names.Length]; for (int i = 0; i < (int)prefab.Length; i++) { string str = names[i]; GameObject gameObject = manager.FindPrefab(str); T component = gameObject.GetComponent <T>(); prefab[i] = new Prefab <T>(str, gameObject, component, manager, attribute); } return(prefab); }
public static Prefab <T>[] Load <T>( string[] names, GameManager manager = null, PrefabAttribute.Library attribute = null) where T : Component { if (manager == null) { manager = Prefab.DefaultManager; } if (attribute == null) { attribute = Prefab.DefaultAttribute; } Prefab <T>[] prefabArray = new Prefab <T> [names.Length]; for (int index = 0; index < prefabArray.Length; ++index) { string name = names[index]; GameObject prefab = manager.FindPrefab(name); T component = prefab.GetComponent <T>(); prefabArray[index] = new Prefab <T>(name, prefab, component, manager, attribute); } return(prefabArray); }
public static Prefab[] Load(string folder, GameManager manager = null, PrefabAttribute.Library attribute = null, bool useProbabilities = true) { if (string.IsNullOrEmpty(folder)) { return(null); } if (manager == null) { manager = Prefab.DefaultManager; } if (attribute == null) { attribute = Prefab.DefaultAttribute; } string[] strArrays = Prefab.FindPrefabNames(folder, useProbabilities); Prefab[] prefab = new Prefab[(int)strArrays.Length]; for (int i = 0; i < (int)prefab.Length; i++) { string str = strArrays[i]; GameObject gameObject = manager.FindPrefab(str); prefab[i] = new Prefab(str, gameObject, manager, attribute); } return(prefab); }
static PrefabAttribute() { PrefabAttribute.server = new PrefabAttribute.Library(false, true); }
public static Prefab LoadRandom(string folder, ref uint seed, GameManager manager = null, PrefabAttribute.Library attribute = null, bool useProbabilities = true) { if (string.IsNullOrEmpty(folder)) { return(null); } if (manager == null) { manager = Prefab.DefaultManager; } if (attribute == null) { attribute = Prefab.DefaultAttribute; } string[] strArrays = Prefab.FindPrefabNames(folder, useProbabilities); if (strArrays.Length == 0) { return(null); } string str = strArrays[SeedRandom.Range(ref seed, 0, (int)strArrays.Length)]; return(new Prefab(str, manager.FindPrefab(str), manager, attribute)); }