public ObjectContext(string Name = "Untitled", ObjectNameTable Identity = ObjectNameTable.None) { this.Name = Name; this.Identity = Identity; if (Identity != ObjectNameTable.None) { Customizer = new UserInterface.ObjectCustomizer(this); Customizer.Availablity = AvailablityStates.Invisible; } ShadowHandler = new Lighting(); }
/// <summary> /// Creates, Loads, and returns a GameObject of the desired type. /// </summary> /// <param name="Name">The SaveFile name of the object.</param> /// <param name="Type">The type of object to spawn.</param> /// <param name="Content">The ContentManager to load the graphics.</param> /// <returns></returns> public static GameObject Create(string Name, ObjectNameTable Type) { var Content = Main.Manager; var obj = new GameObject(""); switch (Type) { case ObjectNameTable.Player: obj = new Player(Name, (Main.Objects.Where(x => x is Player)?.Count() ?? 0) + 1); break; case ObjectNameTable.CardboardBoxDesk: obj = new Desk(Name); break; case ObjectNameTable.WelcomeMat: obj = new WelcomeMat(Name); break; case ObjectNameTable.Table: obj = new Table(Name, Main.Objects.Where(x => x.Identity == ObjectNameTable.Table)?.Count() ?? 0 + 1); break; case ObjectNameTable.Person: var i = Main.GlobalRandom.Next(0, Enum.GetNames(typeof(Person.PersonNameTable)).Length); obj = new Person(Name, (Person.PersonNameTable)i); break; case ObjectNameTable.Menu: obj = new Menu(-1); break; case ObjectNameTable.Food: obj = new Food(-1); break; case ObjectNameTable.POS: obj = new POSObject(Name); break; case ObjectNameTable.FoodCounter: obj = new FoodCounterObject(Name); break; default: return(null); } obj.ID = Main.Objects.Count + 1; obj.Load(Content); return(obj); }
/// <summary> /// Loads the Object /// </summary> /// <param name="Start"></param> /// <param name="Size"></param> public GameObject(string Name, ObjectNameTable Identity = ObjectNameTable.None) : base(Name, Identity) { OnClick += GameObject_OnClick; Main.GlobalInput.UserInput += GlobalInput_UserInput; }