Example #1
0
 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();
 }
Example #2
0
        /// <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);
        }
Example #3
0
 /// <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;
 }