public static void Load() { if (Loaded) { return; } Loaded = true; CreatorBasic.Load(); PlayerProfile.Load(); Render.Load(); #if !EDITOR LoadDefaultLevel(); #endif #if !EDITOR && AUTO DefaultLoader.AutoLoad(); #endif #if EDITOR #if !XBOX EditorManager.InitEditor(); #endif #endif }
public static GameObject ReadFile(BinaryReader Reader, Level ParentLevel, SceneObject ParentScene) { string TypeString = Reader.ReadString(); GameObject g = CreatorBasic.ReturnObjectOfType(TypeString); ParentLevel.AddObject(g, ParentScene); return(ReadObject(Reader, ParentLevel, g)); }
public void AddObject(Button button) { CreatorBasic c = (CreatorBasic)button.Tag; CreatorBasic.LastCreator = c; GameObject g = c.ReturnObject(); GameManager.GetEditorLevel().AddObject(g); Destroy(); }
public void set(string Name) { if (Name.Equals("")) { clear(); } else { Type Value = CreatorBasic.FindType(Name); if (Value != null) { set(Value); } } }
public static GameObject ReturnObjectOfType(string type) { foreach (CreatorBasic Creator in AllCreators) { if (Creator.MyType.Name.Equals(type)) { return(Creator.ReturnObject()); } } foreach (CreatorBasic Creator in AllCreators) { if (Creator.MyType.Name.Contains(type) || type.Contains(Creator.MyType.Name)) { return(Creator.ReturnObject()); } } int BestCount = 0; CreatorBasic BestMatch = null; foreach (CreatorBasic Creator in AllCreators) { int Count = 0; for (int i = 0; i < Math.Min(Creator.MyType.Name.Length, type.Length); i++) { if (Creator.MyType.Name[i].Equals(type[i])) { Count++; } } if (Count > BestCount) { BestCount = Count; BestMatch = Creator; } } return(BestMatch != null?BestMatch.ReturnObject() : null); }
public GameObject Clone(GameObject Parent, SceneObject Scene) { bool DictionaryCreator = CloneDictionary == null; if (DictionaryCreator) { CloneDictionary = new Dictionary <GameObject, GameObject>(); } GameObject g = CreatorBasic.ReturnObjectOfType(GetType()); if (!CloneDictionary.ContainsKey(this)) { CloneDictionary.Add(this, g); } else { CloneDictionary[this] = g; } FillBlankClones(); ReferenceGameObject = g; ParentLevel.AddObject(g, Scene); Stream s = new MemoryStream(); WriteClone(new BinaryWriter(s)); Console.Write(s.Length); s.Position = 0; g.ReadClone(new BinaryReader(s)); s.Close(); if (Scene != null) { Scene.AddSelected(g); } SceneObject SceneParent = Scene; if (!g.GetType().IsSubclassOf(typeof(SceneObject))) { if (Parent == null) { hierarchyParent.AddHierarchyObject(g); } else { Parent.AddHierarchyObject(g); } } else { SceneParent = (SceneObject)g; } foreach (GameObject child in HierarchyChildren) { if (child != this) { child.Clone(g, SceneParent); } } g.PostRead(); if (ObjectListValue.LinkedObjects.ContainsKey(this)) { foreach (ObjectListValue l in ObjectListValue.LinkedObjects[this]) { if (!CloneDictionary.ContainsValue(l.Parent) && !CloneDictionary.ContainsKey(l.Parent)) { l.add(g); } } } if (DictionaryCreator) { CloneDictionary = null; } return(g); }