public LotDebugScreen() { var lotInfo = XmlHouseData.Parse(GameFacade.GameFilePath("housedata/blueprints/restaurant01_00.xml")); World = new World(GameFacade.Game.GraphicsDevice); GameFacade.Scenes.Add(World); vm = new TSO.Simantics.VM(new VMContext(World)); vm.Init(); var activator = new VMWorldActivator(vm, World); var blueprint = activator.LoadFromXML(lotInfo); World.InitBlueprint(blueprint); vm.Context.Blueprint = blueprint; var sim = activator.CreateAvatar(); //sim.Position = new Vector3(31.5f, 55.5f, 0.0f); sim.Position = new Vector3(26.5f, 41.5f, 0.0f); VMDebug = new UIButton() { Caption = "Simantics", Y = 45, Width = 100, X = GlobalSettings.Default.GraphicsWidth - 110 }; VMDebug.OnButtonClick += new ButtonClickDelegate(VMDebug_OnButtonClick); this.Add(VMDebug); LotController = new UILotControl(vm, World); this.AddAt(0, LotController); ucp = new UIUCP(this); ucp.Y = ScreenHeight - 210; ucp.SetInLot(true); ucp.SetMode(UIUCP.UCPMode.LotMode); ucp.SelectedAvatar = sim; ucp.SetPanel(1); //ucp.ZoomLevel = 1; //ucp.OnZoomChanged += new UCPZoomChangeEvent(ucp_OnZoomChanged); //ucp.OnRotateChanged += new UCPRotateChangeEvent(ucp_OnRotateChanged); this.Add(ucp); }
public UIPieMenu(List<VMPieMenuInteraction> pie, VMEntity obj, VMEntity caller, UILotControl parent) { m_PieButtons = new List<UIButton>(); this.m_Obj = obj; this.m_Caller = caller; this.m_Parent = parent; this.ButtonStyle = new TextStyle { Font = GameFacade.MainFont, Size = 12, Color = new Color(0xA5, 0xC3, 0xD6), SelectedColor = new Color(0x00, 0xFF, 0xFF), CursorColor = new Color(255, 255, 255) }; m_Bg = new UIImage(TextureGenerator.GetPieBG(GameFacade.GraphicsDevice)); m_Bg.SetSize(0, 0); //is scaled up later this.AddAt(0, m_Bg); m_PieTree = new UIPieMenuItem() { Category = true }; for (int i = 0; i < pie.Count; i++) { string[] depth = pie[i].Name.Split('/'); var category = m_PieTree; //set category to root for (int j = 0; j < depth.Length-1; j++) //iterate through categories { if (category.Children.ContainsKey(depth[j])) { category = category.Children[depth[j]]; } else { var newCat = new UIPieMenuItem() { Category = true, Name = depth[j], Parent = category }; category.Children.Add(depth[j], newCat); category = newCat; } } //we are in the category, put the interaction in here; var item = new UIPieMenuItem() { Category = false, Name = depth[depth.Length-1], ID = pie[i].ID }; if (!category.Children.ContainsKey(item.Name)) category.Children.Add(item.Name, item); } m_CurrentItem = m_PieTree; m_PieButtons = new List<UIButton>(); RenderMenu(); VMAvatar Avatar = (VMAvatar)caller; m_Head = new SimAvatar(Avatar.Avatar); //talk about confusing... m_Head.StripAllButHead(); initSimHead(); }
public UIBuildMode(UILotControl lotController) { LotController = lotController; Holder = LotController.ObjectHolder; QueryPanel = LotController.QueryPanel; var script = this.RenderScript("buildpanel" + ((GlobalSettings.Default.GraphicsWidth < 1024) ? "" : "1024") + ".uis"); Background = new UIImage(GetTexture((GlobalSettings.Default.GraphicsWidth < 1024) ? (ulong)0x000000D800000002 : (ulong)0x0000018300000002)); Background.Y = 0; Background.BlockInput(); this.AddAt(0, Background); Divider = new UIImage(dividerImage); Divider.Position = new Vector2(337, 14); this.AddAt(1, Divider); SubToolBg = new UIImage(subtoolsBackground); SubToolBg.Position = new Vector2(336, 5); this.AddAt(2, SubToolBg); Catalog = new UICatalog((GlobalSettings.Default.GraphicsWidth < 1024) ? 10 : 20); Catalog.OnSelectionChange += new CatalogSelectionChangeDelegate(Catalog_OnSelectionChange); Catalog.Position = new Vector2(364, 7); this.Add(Catalog); CategoryMap = new Dictionary<UIButton, int> { { TerrainButton, 29 }, //currently set to special objects { WaterButton, 5 }, { WallButton, 7 }, { WallpaperButton, 8 }, { StairButton, 2 }, { FireplaceButton, 4 }, { PlantButton, 3 }, { FloorButton, 9 }, { DoorButton, 0 }, { WindowButton, 1 }, { RoofButton, 28 }, { HandButton, 28 }, }; TerrainButton.OnButtonClick += ChangeCategory; WaterButton.OnButtonClick += ChangeCategory; WallButton.OnButtonClick += ChangeCategory; WallpaperButton.OnButtonClick += ChangeCategory; StairButton.OnButtonClick += ChangeCategory; FireplaceButton.OnButtonClick += ChangeCategory; PlantButton.OnButtonClick += ChangeCategory; FloorButton.OnButtonClick += ChangeCategory; DoorButton.OnButtonClick += ChangeCategory; WindowButton.OnButtonClick += ChangeCategory; RoofButton.OnButtonClick += ChangeCategory; HandButton.OnButtonClick += ChangeCategory; PreviousPageButton.OnButtonClick += PreviousPage; NextPageButton.OnButtonClick += NextPage; SubtoolsSlider.MinValue = 0; SubtoolsSlider.OnChange += PageSlider; Holder.OnPickup += HolderPickup; Holder.OnDelete += HolderDelete; Holder.OnPutDown += HolderPutDown; }
public UIObjectHolder(VM vm, World World, UILotControl parent) { this.vm = vm; this.World = World; ParentControl = parent; }
public void InitTestLot() { var lotInfo = XmlHouseData.Parse(GameFacade.GameFilePath("housedata/blueprints/restaurant08_00.xml")); World = new World(GameFacade.Game.GraphicsDevice); GameFacade.Scenes.Add(World); vm = new TSO.Simantics.VM(new VMContext(World)); vm.Init(); var activator = new VMWorldActivator(vm, World); var blueprint = activator.LoadFromXML(lotInfo); World.InitBlueprint(blueprint); vm.Context.Blueprint = blueprint; var sim = activator.CreateAvatar(); sim.Position = new Vector3(26.5f, 41.5f, 0.0f); var sim2 = activator.CreateAvatar(); sim2.Position = new Vector3(27.5f, 41.5f, 0.0f); /*for (float x = 30.5f; x < 40.5; x+=1.0f) { for (float y = 42.5f; y < 52.5; y += 1.0f) { var sim3 = activator.CreateAvatar(); sim3.Position = new Vector3(x, y, 0.0f); } }*/ LotController = new UILotControl(vm, World); this.AddAt(0, LotController); vm.Context.Clock.Hours = 6; ucp.SelectedAvatar = sim; ucp.SetInLot(true); if (m_ZoomLevel > 3) World.Visible = false; }
private bool Roommate = true; //if false, shows visitor inventory only. #endregion Fields #region Constructors public UIBuyMode(UILotControl lotController) { LotController = lotController; Holder = LotController.ObjectHolder; QueryPanel = LotController.QueryPanel; var script = this.RenderScript("buypanel"+((GlobalSettings.Default.GraphicsWidth < 1024)?"":"1024")+".uis"); Background = new UIImage(GetTexture((GlobalSettings.Default.GraphicsWidth < 1024) ? (ulong)0x000000D800000002 : (ulong)0x0000018300000002)); Background.Y = 0; Background.BlockInput(); this.AddAt(0, Background); CatBg = new UIImage(catalogBackground); CatBg.Position = new Microsoft.Xna.Framework.Vector2(250, 5); this.AddAt(1, CatBg); InventoryCatBg = new UIImage(inventoryRoommateBackground); InventoryCatBg.Position = new Microsoft.Xna.Framework.Vector2(250, 5); this.AddAt(2, InventoryCatBg); NonRMInventoryCatBg = new UIImage(inventoryVisitorBackground); NonRMInventoryCatBg.Position = new Microsoft.Xna.Framework.Vector2(68, 5); this.AddAt(3, InventoryCatBg); Catalog = new UICatalog((GlobalSettings.Default.GraphicsWidth < 1024) ? 14 : 24); Catalog.OnSelectionChange += new CatalogSelectionChangeDelegate(Catalog_OnSelectionChange); Catalog.Position = new Microsoft.Xna.Framework.Vector2(275, 7); this.Add(Catalog); CategoryMap = new Dictionary<UIButton, int> { { SeatingButton, 12 }, { SurfacesButton, 13 }, { AppliancesButton, 14 }, { ElectronicsButton, 15 }, { SkillButton, 16 }, { DecorativeButton, 17 }, { MiscButton, 18 }, { LightingButton, 19 }, { PetsButton, 20 }, }; SeatingButton.OnButtonClick += ChangeCategory; SurfacesButton.OnButtonClick += ChangeCategory; DecorativeButton.OnButtonClick += ChangeCategory; ElectronicsButton.OnButtonClick += ChangeCategory; AppliancesButton.OnButtonClick += ChangeCategory; SkillButton.OnButtonClick += ChangeCategory; LightingButton.OnButtonClick += ChangeCategory; MiscButton.OnButtonClick += ChangeCategory; PetsButton.OnButtonClick += ChangeCategory; MapBuildingModeButton.OnButtonClick += ChangeCategory; ProductCatalogPreviousPageButton.OnButtonClick += PreviousPage; InventoryCatalogRoommatePreviousPageButton.OnButtonClick += PreviousPage; InventoryCatalogVisitorPreviousPageButton.OnButtonClick += PreviousPage; ProductCatalogNextPageButton.OnButtonClick += NextPage; InventoryCatalogRoommateNextPageButton.OnButtonClick += NextPage; InventoryCatalogVisitorNextPageButton.OnButtonClick += NextPage; ProductCatalogSlider.MinValue = 0; InventoryCatalogRoommateSlider.MinValue = 0; InventoryCatalogVisitorSlider.MinValue = 0; ProductCatalogSlider.OnChange += PageSlider; InventoryCatalogRoommateSlider.OnChange += PageSlider; InventoryCatalogVisitorSlider.OnChange += PageSlider; SetMode(0); SetRoomCategories(false); Holder.OnPickup += HolderPickup; Holder.OnDelete += HolderDelete; Holder.OnPutDown += HolderPutDown; }
public void InitTestLot(string path) { var lotInfo = XmlHouseData.Parse(path); if (vm != null) CleanupLastWorld(); World = new World(GameFacade.Game.GraphicsDevice); GameFacade.Scenes.Add(World); vm = new TSO.Simantics.VM(new VMContext(World)); vm.Init(); var activator = new VMWorldActivator(vm, World); var blueprint = activator.LoadFromXML(lotInfo); World.InitBlueprint(blueprint); vm.Context.Blueprint = blueprint; var sim = activator.CreateAvatar(); sim.Position = LotTilePos.FromBigTile(56, 33, 1); var sim2 = activator.CreateAvatar(); sim2.Position = LotTilePos.FromBigTile(56, 34, 1); var mailbox = vm.Entities.First(x => (x.Object.OBJ.GUID == 0xEF121974 || x.Object.OBJ.GUID == 0x1D95C9B0)); VMFindLocationFor.FindLocationFor(sim, mailbox, vm.Context); VMFindLocationFor.FindLocationFor(sim2, mailbox, vm.Context); HITVM.Get().PlaySoundEvent("lot_enter"); World.State.CenterTile = new Vector2(sim.VisualPosition.X, sim.VisualPosition.Y); LotController = new UILotControl(vm, World); this.AddAt(0, LotController); vm.Context.Clock.Hours = 10; ucp.SelectedAvatar = sim; ucp.SetInLot(true); if (m_ZoomLevel > 3) World.Visible = false; ZoomLevel = 1; }
public UIPieMenu(List <VMPieMenuInteraction> pie, VMEntity obj, VMEntity caller, UILotControl parent) { m_PieButtons = new List <UIButton>(); this.m_Obj = obj; this.m_Caller = caller; this.m_Parent = parent; this.ButtonStyle = new TextStyle { Font = GameFacade.MainFont, Size = 12, Color = new Color(0xA5, 0xC3, 0xD6), SelectedColor = new Color(0x00, 0xFF, 0xFF), CursorColor = new Color(255, 255, 255) }; m_Bg = new UIImage(TextureGenerator.GetPieBG(GameFacade.GraphicsDevice)); m_Bg.SetSize(0, 0); //is scaled up later this.AddAt(0, m_Bg); m_PieTree = new UIPieMenuItem() { Category = true }; for (int i = 0; i < pie.Count; i++) { string[] depth = pie[i].Name.Split('/'); var category = m_PieTree; //set category to root for (int j = 0; j < depth.Length - 1; j++) //iterate through categories { if (category.Children.ContainsKey(depth[j])) { category = category.Children[depth[j]]; } else { var newCat = new UIPieMenuItem() { Category = true, Name = depth[j], Parent = category }; category.Children.Add(depth[j], newCat); category = newCat; } } //we are in the category, put the interaction in here; var item = new UIPieMenuItem() { Category = false, Name = depth[depth.Length - 1], ID = pie[i].ID }; if (!category.Children.ContainsKey(item.Name)) { category.Children.Add(item.Name, item); } } m_CurrentItem = m_PieTree; m_PieButtons = new List <UIButton>(); RenderMenu(); VMAvatar Avatar = (VMAvatar)caller; m_Head = new SimAvatar(Avatar.Avatar); //talk about confusing... m_Head.StripAllButHead(); initSimHead(); }