public LoginScreen() { PlayBackgroundMusic(new string[] { "none" }); /** * Scale the whole screen to 1024 */ BackgroundCtnr = new UIContainer(); BackgroundCtnr.ScaleX = BackgroundCtnr.ScaleY = ScreenWidth / 800.0f; /** Background image **/ Background = new UIImage(GetTexture((ulong)FileIDs.UIFileIDs.setup)); Background.ID = "Background"; BackgroundCtnr.Add(Background); /** Client version **/ var lbl = new UILabel(); lbl.Caption = "Version " + GlobalSettings.Default.ClientVersion; lbl.X = 20; lbl.Y = 558; BackgroundCtnr.Add(lbl); this.Add(BackgroundCtnr); /** Progress bar **/ LoginProgress = new UILoginProgress(); LoginProgress.X = (ScreenWidth - (LoginProgress.Width + 20)); LoginProgress.Y = (ScreenHeight - (LoginProgress.Height + 20)); LoginProgress.Opacity = 0.9f; this.Add(LoginProgress); /** Login dialog **/ LoginDialog = new UILoginDialog(this); LoginDialog.Opacity = 0.9f; //Center LoginDialog.X = (ScreenWidth - LoginDialog.Width) / 2; LoginDialog.Y = (ScreenHeight - LoginDialog.Height) / 2; this.Add(LoginDialog); NetworkFacade.Controller.OnNetworkError += new NetworkErrorDelegate(Controller_OnNetworkError); NetworkFacade.Controller.OnLoginProgress += new OnProgressDelegate(Controller_OnLoginProgress); NetworkFacade.Controller.OnLoginStatus += new OnLoginStatusDelegate(Controller_OnLoginStatus); var gameplayButton = new UIButton() { Caption = "Simantics & Lot Debug", Y = 10, Width = 200, X = 10 }; this.Add(gameplayButton); gameplayButton.OnButtonClick += new ButtonClickDelegate(gameplayButton_OnButtonClick); }
private List<TreeNode> ExploreUIContainer(UIContainer container) { var result = new List<TreeNode>(); foreach (var child in container.GetChildren()) { var node = new TreeNode(child.ToString()); ItemMap.Add(node, child); if (child is UIContainer) { node.Nodes.AddRange(ExploreUIContainer((UIContainer)child).ToArray()); } result.Add(node); } return result; }
public void AssignAsInvalidationParent(UIContainer cont) { if (InvalidationParent == null) { return; } foreach (var child in cont.Children) { if (child.InvalidationParent == null) { child.InvalidationParent = InvalidationParent; if (child is UIContainer) { AssignAsInvalidationParent((UIContainer)child); } } } }
public MaxisLogo() : base() { /** * Scale the whole screen to 1024 */ BackgroundCtnr = new UIContainer(); BackgroundCtnr.ScaleX = BackgroundCtnr.ScaleY = GlobalSettings.Default.GraphicsWidth / 640.0f; /** Background image **/ m_MaxisLogo = new UIImage(GetTexture((ulong)FileIDs.UIFileIDs.maxislogo)); BackgroundCtnr.Add(m_MaxisLogo); this.Add(BackgroundCtnr); m_CheckProgressTimer = new Timer(); m_CheckProgressTimer.Interval = 5000; m_CheckProgressTimer.Elapsed += new ElapsedEventHandler(m_CheckProgressTimer_Elapsed); m_CheckProgressTimer.Start(); }
public EALogo() : base() { //HITVM.Get().PlaySoundEvent(UIMusic.LoadLoop); /** * Scale the whole screen to 1024 */ BackgroundCtnr = new UIContainer(); BackgroundCtnr.ScaleX = BackgroundCtnr.ScaleY = GlobalSettings.Default.GraphicsWidth / 800.0f; /** Background image **/ m_EALogo = new UIImage(GetTexture((ulong)FileIDs.UIFileIDs.eagames)); BackgroundCtnr.Add(m_EALogo); this.Add(BackgroundCtnr); m_CheckProgressTimer = new Timer(); m_CheckProgressTimer.Interval = 5000; m_CheckProgressTimer.Elapsed += new ElapsedEventHandler(m_CheckProgressTimer_Elapsed); m_CheckProgressTimer.Start(); }
public EALogo() : base() { PlayBackgroundMusic(new string[] { GameFacade.GameFilePath("music\\stations\\latin\\latin3_7df26b84.mp3") }); /** * Scale the whole screen to 1024 */ BackgroundCtnr = new UIContainer(); BackgroundCtnr.ScaleX = BackgroundCtnr.ScaleY = GlobalSettings.Default.GraphicsWidth / 800.0f; /** Background image **/ m_EALogo = new UIImage(GetTexture((ulong)FileIDs.UIFileIDs.eagames)); BackgroundCtnr.Add(m_EALogo); this.Add(BackgroundCtnr); m_CheckProgressTimer = new Timer(); m_CheckProgressTimer.Interval = 5000; m_CheckProgressTimer.Elapsed += new ElapsedEventHandler(m_CheckProgressTimer_Elapsed); m_CheckProgressTimer.Start(); }
/// <summary> /// Creates a new CityTransitionScreen. /// </summary> /// <param name="SelectedCity">The city being transitioned to.</param> /// <param name="CharacterCreated">If transitioning from CreateASim, this should be true. /// A CharacterCreateCity packet will be sent to the CityServer. Otherwise, this should be false. /// A CityToken packet will be sent to the CityServer.</param> public CityTransitionScreen(CityInfo SelectedCity, bool CharacterCreated) { m_SelectedCity = SelectedCity; m_CharacterCreated = CharacterCreated; /** * Scale the whole screen to 1024 */ m_BackgroundCtnr = new UIContainer(); m_BackgroundCtnr.ScaleX = m_BackgroundCtnr.ScaleY = ScreenWidth / 800.0f; /** Background image **/ m_Background = new UIImage(GetTexture((ulong)FileIDs.UIFileIDs.setup)); m_Background.ID = "Background"; m_BackgroundCtnr.Add(m_Background); var lbl = new UILabel(); lbl.Caption = "Version " + GlobalSettings.Default.ClientVersion; lbl.X = 20; lbl.Y = 558; m_BackgroundCtnr.Add(lbl); this.Add(m_BackgroundCtnr); m_LoginProgress = new UILoginProgress(); m_LoginProgress.X = (ScreenWidth - (m_LoginProgress.Width + 20)); m_LoginProgress.Y = (ScreenHeight - (m_LoginProgress.Height + 20)); m_LoginProgress.Opacity = 0.9f; this.Add(m_LoginProgress); /*lock(NetworkFacade.Controller) NetworkFacade.Controller.OnNetworkError += new NetworkErrorDelegate(Controller_OnNetworkError);*/ lock (NetworkFacade.Client) { lock (NetworkFacade.Client.ClientEncryptor) { LoginArgsContainer LoginArgs = new LoginArgsContainer(); LoginArgs.Username = NetworkFacade.Client.ClientEncryptor.Username; LoginArgs.Password = Convert.ToBase64String(PlayerAccount.Hash); LoginArgs.Enc = NetworkFacade.Client.ClientEncryptor; NetworkFacade.Client = new NetworkClient(SelectedCity.IP, SelectedCity.Port, GonzoNet.Encryption.EncryptionMode.AESCrypto, true); //This might not fix decryption of cityserver's packets, but it shouldn't make things worse... NetworkFacade.Client.ClientEncryptor = LoginArgs.Enc; //THIS IS IMPORTANT - THIS NEEDS TO BE COPIED AFTER IT HAS BEEN RECREATED FOR //THE RECONNECTION TO WORK! LoginArgs.Client = NetworkFacade.Client; NetworkFacade.Client.OnConnected += new OnConnectedDelegate(Client_OnConnected); NetworkFacade.Controller.Reconnect(ref NetworkFacade.Client, SelectedCity, LoginArgs); } } lock (NetworkFacade.Controller) { NetworkFacade.Controller.OnCharacterCreationStatus += new OnCharacterCreationStatusDelegate(Controller_OnCharacterCreationStatus); NetworkFacade.Controller.OnCityTransferProgress += new OnCityTransferProgressDelegate(Controller_OnCityTransfer); NetworkFacade.Controller.OnLoginNotifyCity += new OnLoginNotifyCityDelegate(Controller_OnLoginNotifyCity); NetworkFacade.Controller.OnLoginSuccessCity += new OnLoginSuccessCityDelegate(Controller_OnLoginSuccessCity); NetworkFacade.Controller.OnLoginFailureCity += new OnLoginFailureCityDelegate(Controller_OnLoginFailureCity); NetworkFacade.Controller.OnNetworkError += new NetworkErrorDelegate(Controller_OnNetworkError); } }
public UIGizmo() { var ui = this.RenderScript("gizmo.uis"); BackgroundImageGizmo = ui.Create<UIImage>("BackgroundImageGizmo"); this.AddAt(0, BackgroundImageGizmo); BackgroundImageGizmoPanel = ui.Create<UIImage>("BackgroundImageGizmoPanel"); this.AddAt(0, BackgroundImageGizmoPanel); BackgroundImagePanel = ui.Create<UIImage>("BackgroundImagePanel"); this.AddAt(0, BackgroundImagePanel); UIUtils.MakeDraggable(BackgroundImageGizmo, this); UIUtils.MakeDraggable(BackgroundImageGizmoPanel, this); UIUtils.MakeDraggable(BackgroundImagePanel, this); ButtonContainer = new UIContainer(); this.Remove(ExpandButton); ButtonContainer.Add(ExpandButton); this.Remove(ContractButton); ButtonContainer.Add(ContractButton); this.Remove(FiltersButton); ButtonContainer.Add(FiltersButton); this.Remove(SearchButton); ButtonContainer.Add(SearchButton); this.Remove(Top100ListsButton); ButtonContainer.Add(Top100ListsButton); this.Add(ButtonContainer); FiltersProperty = new UIGizmoPropertyFilters(ui, this); FiltersProperty.Visible = false; this.Add(FiltersProperty); Search = new UIGizmoSearch(ui, this); Search.Visible = false; this.Add(Search); Top100 = new UIGizmoTop100(ui, this); Top100.Visible = false; Top100.Background.Visible = false; this.Add(Top100); ExpandButton.OnButtonClick += new ButtonClickDelegate(ExpandButton_OnButtonClick); ContractButton.OnButtonClick += new ButtonClickDelegate(ContractButton_OnButtonClick); PeopleTabButton.OnButtonClick += new ButtonClickDelegate(PeopleTabButton_OnButtonClick); HousesTabButton.OnButtonClick += new ButtonClickDelegate(HousesTabButton_OnButtonClick); FiltersButton.OnButtonClick += new ButtonClickDelegate(FiltersButton_OnButtonClick); SearchButton.OnButtonClick += new ButtonClickDelegate(SearchButton_OnButtonClick); Top100ListsButton.OnButtonClick += new ButtonClickDelegate(Top100ListsButton_OnButtonClick); if (PlayerAccount.CurrentlyActiveSim != null) SimBox = new UISim(PlayerAccount.CurrentlyActiveSim.GUID.ToString()); else SimBox = new UISim(""); //var sim = new Sim(Guid.NewGuid().ToString()); //var maleHeads = new Collection(ContentManager.GetResourceFromLongID((ulong)FileIDs.CollectionsFileIDs.ea_male_heads)); //SimCatalog.LoadSim3D(sim, maleHeads.First().PurchasableObject.Outfit, AppearanceType.Light); // //sim.HeadOutfitID = 4853313044493; //sim.AppearanceType = AppearanceType.Light; //sim.BodyOutfitID = 5394478923789; //SimCatalog.LoadSim3D(sim); //SimCatalog.LoadSim3D(sim, SimCatalog.GetOutfit(4462471020557), AppearanceType.Light); //SimBox.Sim = sim; //SimBox.SimScale = 0.4f; //SimBox.Position = new Microsoft.Xna.Framework.Vector2(60, 60); //this.Add(SimBox); View = UIGizmoView.Top100; SetOpen(true); }
public void SetPanel(int newPanel) { GraphicsButton.Selected = false; ProfanityButton.Selected = false; SoundButton.Selected = false; if (CurrentPanel != -1) this.Remove(Panel); if (newPanel != CurrentPanel) { switch (newPanel) { case 0: Panel = new UIGraphicOptions(); GraphicsButton.Selected = true; break; case 1: Panel = new UIProfanityOptions(); ProfanityButton.Selected = true; break; case 2: Panel = new UISoundOptions(); SoundButton.Selected = true; break; default: break; } Panel.X = 240; Panel.Y = 0; this.Add(Panel); CurrentPanel = newPanel; } else { CurrentPanel = -1; } }
public LoadingScreen() { /** * Scale the whole screen to 1024 */ BackgroundCtnr = new UIContainer(); BackgroundCtnr.ScaleX = BackgroundCtnr.ScaleY = ScreenWidth / 800.0f; /** Background image **/ Background = new UIImage(GetTexture((ulong)FileIDs.UIFileIDs.setup)); BackgroundCtnr.Add(Background); //TODO: Letter spacing is a bit wrong on this label var lbl = new UILabel(); lbl.Caption = GameFacade.Strings.GetString("154", "5"); lbl.X = 0; lbl.Size = new Microsoft.Xna.Framework.Vector2(800, 100); lbl.Y = 508; var style = lbl.CaptionStyle.Clone(); style.Size = 17; lbl.CaptionStyle = style; BackgroundCtnr.Add(lbl); this.Add(BackgroundCtnr); ProgressLabel1 = new UILabel { X = 0, Y = 550, Size = new Microsoft.Xna.Framework.Vector2(800, 100), CaptionStyle = style }; ProgressLabel2 = new UILabel { X = 0, Y = 550, Size = new Microsoft.Xna.Framework.Vector2(800, 100), CaptionStyle = style }; BackgroundCtnr.Add(ProgressLabel1); BackgroundCtnr.Add(ProgressLabel2); PreloadLabels = new string[]{ GameFacade.Strings.GetString("155", "6"), GameFacade.Strings.GetString("155", "7"), GameFacade.Strings.GetString("155", "8"), GameFacade.Strings.GetString("155", "9") }; CurrentPreloadLabel = 0; AnimateLabel("", PreloadLabels[0]); CheckProgressTimer = new Timer(); CheckProgressTimer.Interval = 5; CheckProgressTimer.Elapsed += new ElapsedEventHandler(CheckProgressTimer_Elapsed); CheckProgressTimer.Start(); //GameFacade.Screens.Tween.To(rect, 10.0f, new Dictionary<string, float>() { // {"X", 500.0f} //}, TweenQuad.EaseInOut); }
public UILayer(Microsoft.Xna.Framework.Game G, SpriteFont SprFontBig, SpriteFont SprFontSmall) { fpsStopwatch = new Stopwatch(); fpsStopwatch.Start(); m_G = G; m_SprFontBig = SprFontBig; m_SprFontSmall = SprFontSmall; m_WorldMatrix = Matrix.Identity; m_ViewMatrix = Matrix.CreateLookAt(Vector3.Right * 5, Vector3.Zero, Vector3.Forward); m_ProjectionMatrix = Matrix.CreatePerspectiveFieldOfView(MathHelper.Pi / 4.0f, (float)GraphicsDevice.PresentationParameters.BackBufferWidth / (float)GraphicsDevice.PresentationParameters.BackBufferHeight, 1.0f, 100.0f); TextStyle.DefaultTitle = new TextStyle { Font = GameFacade.MainFont, Size = 10, Color = new Color(255,249,157), SelectedColor = new Color(0x00, 0x38, 0x7B), SelectionBoxColor = new Color(255, 249, 157) }; TextStyle.DefaultButton = new TextStyle { Font = GameFacade.MainFont, Size = 10, Color = new Color(255, 249, 157), SelectedColor = new Color(0x00, 0x38, 0x7B), SelectionBoxColor = new Color(255, 249, 157) }; TextStyle.DefaultLabel = new TextStyle { Font = GameFacade.MainFont, Size = 10, Color = new Color(255, 249, 157), SelectedColor = new Color(0x00, 0x38, 0x7B), SelectionBoxColor = new Color(255, 249, 157) }; Tween = new UITween(); this.AddProcess(Tween); inputManager = new InputManager(); mainUI = new UIContainer(); dialogContainer = new UIContainer(); mainUI.Add(dialogContainer); // Create a new SpriteBatch, which can be used to draw textures. SpriteBatch = new UISpriteBatch(GraphicsDevice, 3); GameFacade.OnContentLoaderReady += new BasicEventHandler(GameFacade_OnContentLoaderReady); m_G.GraphicsDevice.DeviceReset += new EventHandler<EventArgs>(GraphicsDevice_DeviceReset); }
public LoadingScreen() : base() { HITVM.Get().PlaySoundEvent(UIMusic.LoadLoop); /** * Scale the whole screen to 1024 */ BackgroundCtnr = new UIContainer(); var scale = ScreenHeight / 600.0f; BackgroundCtnr.ScaleX = BackgroundCtnr.ScaleY = scale; /** Background image **/ Texture2D setupTex; if (File.Exists(Path.Combine(FSOEnvironment.ContentDir, "setup.png"))) { using (var logostrm = File.OpenRead(Path.Combine(FSOEnvironment.ContentDir, "setup.png"))) setupTex = ImageLoader.FromStream(GameFacade.GraphicsDevice, logostrm); } else setupTex = GetTexture((ulong)FileIDs.UIFileIDs.setup); Background = new UIImage(setupTex); var bgScale = 600f / setupTex.Height; Background.SetSize(setupTex.Width * bgScale, 600); Background.X = (800 - bgScale * setupTex.Width) / 2; BackgroundCtnr.Add(Background); BackgroundCtnr.X = (ScreenWidth - (800 * scale)) / 2; Texture2D splashSeg; using (var logostrm = File.OpenRead(Path.Combine(FSOEnvironment.ContentDir, "Textures/splashSeg.png"))) splashSeg = ImageLoader.FromStream(GameFacade.GraphicsDevice, logostrm); var bgEdge = new UIImage(splashSeg).With9Slice(64, 64, 1, 1); BackgroundCtnr.AddAt(0,bgEdge); bgEdge.Y = -1; bgEdge.X = Background.X-64; bgEdge.SetSize(Background.Width+64*2, Background.Height + 2); //TODO: Letter spacing is a bit wrong on this label var lbl = new UILabel(); lbl.Caption = GameFacade.Strings.GetString("154", "5"); lbl.X = 0; lbl.Size = new Microsoft.Xna.Framework.Vector2(800, 100); lbl.Y = 508; var style = lbl.CaptionStyle.Clone(); style.Size = 17; lbl.CaptionStyle = style; BackgroundCtnr.Add(lbl); this.Add(BackgroundCtnr); ProgressLabel1 = new UILabel { X = 0, Y = 550, Size = new Microsoft.Xna.Framework.Vector2(800, 100), CaptionStyle = style }; ProgressLabel2 = new UILabel { X = 0, Y = 550, Size = new Microsoft.Xna.Framework.Vector2(800, 100), CaptionStyle = style }; BackgroundCtnr.Add(ProgressLabel1); BackgroundCtnr.Add(ProgressLabel2); PreloadLabels = new string[]{ GameFacade.Strings.GetString("155", "6"), GameFacade.Strings.GetString("155", "7"), GameFacade.Strings.GetString("155", "8"), GameFacade.Strings.GetString("155", "9") }; CurrentPreloadLabel = 0; AnimateLabel("", PreloadLabels[0]); CheckProgressTimer = new Timer(); CheckProgressTimer.Interval = 5; CheckProgressTimer.Elapsed += new ElapsedEventHandler(CheckProgressTimer_Elapsed); CheckProgressTimer.Start(); //GameFacade.Screens.Tween.To(rect, 10.0f, new Dictionary<string, float>() { // {"X", 500.0f} //}, TweenQuad.EaseInOut); }