public PersonSelection(LoginRegulator loginRegulator, ICache cache) : base() { //Arrange UI this.LoginRegulator = loginRegulator; this.Cache = cache; Api = new ApiClient(ApiClient.CDNUrl ?? GlobalSettings.Default.GameEntryUrl); UIScript ui = null; ui = this.RenderScript("personselection1024.uis"); Position = new Vector2((GlobalSettings.Default.GraphicsWidth - 1024) / 2, (GlobalSettings.Default.GraphicsHeight - 768) / 2) * FSOEnvironment.DPIScaleFactor; m_ExitButton = (UIButton)ui["ExitButton"]; var numSlots = 3; m_PersonSlots = new List <PersonSlot>(); FamilyButton.Visible = false; CreditsButton.Disabled = true; for (var i = 0; i < numSlots; i++) { var index = (i + 1).ToString(); /** Tab Background **/ var tabBackground = ui.Create <UIImage>("TabBackgroundImage" + index); this.Add(tabBackground); var enterTabImage = ui.Create <UIImage>("EnterTabImage" + index); this.Add(enterTabImage); var descTabImage = ui.Create <UIImage>("DescriptionTabImage" + index); this.Add(descTabImage); var descTabBgImage = ui.Create <UIImage>("DescriptionTabBackgroundImage" + index); var enterIcons = ui.Create <UIImage>("EnterTabBackgroundImage" + index); var personSlot = new PersonSlot(this) { AvatarButton = (UIButton)ui["AvatarButton" + index], CityButton = (UIButton)ui["CityButton" + index], HouseButton = (UIButton)ui["HouseButton" + index], EnterTabButton = (UIButton)ui["EnterTabButton" + index], DescTabButton = (UIButton)ui["DescriptionTabButton" + index], NewAvatarButton = (UIButton)ui["NewAvatarButton" + index], DeleteAvatarButton = (UIButton)ui["DeleteAvatarButton" + index], PersonNameText = (UILabel)ui["PersonNameText" + index], PersonDescriptionScrollUpButton = (UIButton)ui["PersonDescriptionScrollUpButton" + index], PersonDescriptionScrollDownButton = (UIButton)ui["PersonDescriptionScrollDownButton" + index], PersonDescriptionSlider = (UISlider)ui["PersonDescriptionSlider" + index], CityNameText = (UILabel)ui["CityNameText" + index], HouseNameText = (UILabel)ui["HouseNameText" + index], PersonDescriptionText = (UITextEdit)ui["PersonDescriptionText" + index], DescriptionTabBackgroundImage = descTabBgImage, EnterTabBackgroundImage = enterIcons, TabBackground = tabBackground, TabEnterBackground = enterTabImage, TabDescBackground = descTabImage }; this.AddBefore(descTabBgImage, personSlot.PersonDescriptionText); this.AddBefore(enterIcons, personSlot.CityButton); personSlot.Init(); personSlot.SetSlotAvailable(true); m_PersonSlots.Add(personSlot); if (i < loginRegulator.Avatars.Count) { var avatar = loginRegulator.Avatars[i]; personSlot.DisplayAvatar(avatar); } } /** Backgrounds **/ var bg = new UIImage(BackgroundImage).With9Slice(128, 128, 84, 84); this.AddAt(0, bg); bg.SetSize(GlobalSettings.Default.GraphicsWidth, GlobalSettings.Default.GraphicsHeight); bg.Position = new Vector2((GlobalSettings.Default.GraphicsWidth - 1024) / -2, (GlobalSettings.Default.GraphicsHeight - 768) / -2); Background = bg; if (BackgroundImageDialog != null) { this.AddAt(1, new UIImage(BackgroundImageDialog) { X = 112, Y = 84 }); } /** * Button plumbing */ CreditsButton.OnButtonClick += new ButtonClickDelegate(CreditsButton_OnButtonClick); m_ExitButton.OnButtonClick += new ButtonClickDelegate(m_ExitButton_OnButtonClick); /** * Music */ HITVM.Get().PlaySoundEvent(UIMusic.SAS); GameThread.NextUpdate(x => { FSOFacade.Hints.TriggerHint("screen:sas"); }); }
public PersonSelection() : base() { UIScript ui = null; if (GlobalSettings.Default.ScaleUI) { ui = this.RenderScript("personselection.uis"); this.Scale800x600 = true; } else { ui = this.RenderScript("personselection" + (ScreenWidth == 1024 ? "1024" : "") + ".uis"); } m_ExitButton = (UIButton)ui["ExitButton"]; var numSlots = 3; m_PersonSlots = new List <PersonSlot>(); for (var i = 0; i < numSlots; i++) { var index = (i + 1).ToString(); /** Tab Background **/ var tabBackground = ui.Create <UIImage>("TabBackgroundImage" + index); this.Add(tabBackground); var enterTabImage = ui.Create <UIImage>("EnterTabImage" + index); this.Add(enterTabImage); var descTabImage = ui.Create <UIImage>("DescriptionTabImage" + index); this.Add(descTabImage); var descTabBgImage = ui.Create <UIImage>("DescriptionTabBackgroundImage" + index); var enterIcons = ui.Create <UIImage>("EnterTabBackgroundImage" + index); var personSlot = new PersonSlot(this) { AvatarButton = (UIButton)ui["AvatarButton" + index], CityButton = (UIButton)ui["CityButton" + index], HouseButton = (UIButton)ui["HouseButton" + index], EnterTabButton = (UIButton)ui["EnterTabButton" + index], DescTabButton = (UIButton)ui["DescriptionTabButton" + index], NewAvatarButton = (UIButton)ui["NewAvatarButton" + index], DeleteAvatarButton = (UIButton)ui["DeleteAvatarButton" + index], PersonNameText = (UILabel)ui["PersonNameText" + index], PersonDescriptionScrollUpButton = (UIButton)ui["PersonDescriptionScrollUpButton" + index], PersonDescriptionScrollDownButton = (UIButton)ui["PersonDescriptionScrollDownButton" + index], PersonDescriptionSlider = (UISlider)ui["PersonDescriptionSlider" + index], CityNameText = (UILabel)ui["CityNameText" + index], HouseNameText = (UILabel)ui["HouseNameText" + index], PersonDescriptionText = (UITextEdit)ui["PersonDescriptionText" + index], DescriptionTabBackgroundImage = descTabBgImage, EnterTabBackgroundImage = enterIcons, TabBackground = tabBackground, TabEnterBackground = enterTabImage, TabDescBackground = descTabImage }; this.AddBefore(descTabBgImage, personSlot.PersonDescriptionText); this.AddBefore(enterIcons, personSlot.CityButton); personSlot.Init(); personSlot.SetSlotAvailable(true); m_PersonSlots.Add(personSlot); lock (NetworkFacade.Avatars) { if (i < NetworkFacade.Avatars.Count) { personSlot.DisplayAvatar(NetworkFacade.Avatars[i]); personSlot.AvatarButton.OnButtonClick += new ButtonClickDelegate(AvatarButton_OnButtonClick); var SimBox = new UISim(NetworkFacade.Avatars[i].GUID); SimBox.Avatar.Body = NetworkFacade.Avatars[i].Body; SimBox.Avatar.Head = NetworkFacade.Avatars[i].Head; SimBox.Avatar.Handgroup = NetworkFacade.Avatars[i].Body; SimBox.Avatar.Appearance = NetworkFacade.Avatars[i].Avatar.Appearance; SimBox.Position = m_PersonSlots[i].AvatarButton.Position + new Vector2(70, (m_PersonSlots[i].AvatarButton.Size.Y - 35)); SimBox.Size = m_PersonSlots[i].AvatarButton.Size; SimBox.Name = NetworkFacade.Avatars[i].Name; m_UISims.Add(SimBox); this.Add(SimBox); } } } this.AddAt(0, new UIImage(BackgroundImage)); if (BackgroundImageDialog != null) { this.AddAt(1, new UIImage(BackgroundImageDialog) { X = 112, Y = 84 }); } /** * Button plumbing */ CreditsButton.OnButtonClick += new ButtonClickDelegate(CreditsButton_OnButtonClick); m_ExitButton.OnButtonClick += new ButtonClickDelegate(m_ExitButton_OnButtonClick); /** * Music */ HITVM.Get().PlaySoundEvent(UIMusic.SAS); NetworkFacade.Controller.OnCityToken += new OnCityTokenDelegate(Controller_OnCityToken); NetworkFacade.Controller.OnPlayerAlreadyOnline += new OnPlayerAlreadyOnlineDelegate(Controller_OnPlayerAlreadyOnline); NetworkFacade.Controller.OnCharacterRetirement += new OnCharacterRetirementDelegate(Controller_OnCharacterRetirement); }
public PersonSelection() : base() { UIScript ui = null; if (GlobalSettings.Default.ScaleUI) { ui = this.RenderScript("personselection.uis"); this.Scale800x600 = true; } else { ui = this.RenderScript("personselection" + (ScreenWidth == 1024 ? "1024" : "") + ".uis"); } m_ExitButton = (UIButton)ui["ExitButton"]; var numSlots = 3; m_PersonSlots = new List<PersonSlot>(); for (var i = 0; i < numSlots; i++) { var index = (i + 1).ToString(); /** Tab Background **/ var tabBackground = ui.Create<UIImage>("TabBackgroundImage" + index); this.Add(tabBackground); var enterTabImage = ui.Create<UIImage>("EnterTabImage" + index); this.Add(enterTabImage); var descTabImage = ui.Create<UIImage>("DescriptionTabImage" + index); this.Add(descTabImage); var descTabBgImage = ui.Create<UIImage>("DescriptionTabBackgroundImage" + index); var enterIcons = ui.Create<UIImage>("EnterTabBackgroundImage" + index); var personSlot = new PersonSlot(this) { AvatarButton = (UIButton)ui["AvatarButton" + index], CityButton = (UIButton)ui["CityButton" + index], HouseButton = (UIButton)ui["HouseButton" + index], EnterTabButton = (UIButton)ui["EnterTabButton" + index], DescTabButton = (UIButton)ui["DescriptionTabButton" + index], NewAvatarButton = (UIButton)ui["NewAvatarButton" + index], DeleteAvatarButton = (UIButton)ui["DeleteAvatarButton" + index], PersonNameText = (UILabel)ui["PersonNameText" + index], PersonDescriptionScrollUpButton = (UIButton)ui["PersonDescriptionScrollUpButton" + index], PersonDescriptionScrollDownButton = (UIButton)ui["PersonDescriptionScrollDownButton" + index], PersonDescriptionSlider = (UISlider)ui["PersonDescriptionSlider" + index], CityNameText = (UILabel)ui["CityNameText" + index], HouseNameText = (UILabel)ui["HouseNameText" + index], PersonDescriptionText = (UITextEdit)ui["PersonDescriptionText" + index], DescriptionTabBackgroundImage = descTabBgImage, EnterTabBackgroundImage = enterIcons, TabBackground = tabBackground, TabEnterBackground = enterTabImage, TabDescBackground = descTabImage }; this.AddBefore(descTabBgImage, personSlot.PersonDescriptionText); this.AddBefore(enterIcons, personSlot.CityButton); personSlot.Init(); personSlot.SetSlotAvailable(true); m_PersonSlots.Add(personSlot); lock (NetworkFacade.Avatars) { if (i < NetworkFacade.Avatars.Count) { personSlot.DisplayAvatar(NetworkFacade.Avatars[i]); personSlot.AvatarButton.OnButtonClick += new ButtonClickDelegate(AvatarButton_OnButtonClick); var SimBox = new UISim(NetworkFacade.Avatars[i].GUID); SimBox.Avatar.Body = NetworkFacade.Avatars[i].Body; SimBox.Avatar.Head = NetworkFacade.Avatars[i].Head; SimBox.Avatar.Handgroup = NetworkFacade.Avatars[i].Body; SimBox.Avatar.Appearance = NetworkFacade.Avatars[i].Avatar.Appearance; SimBox.Position = m_PersonSlots[i].AvatarButton.Position + new Vector2(70, (m_PersonSlots[i].AvatarButton.Size.Y - 35)); SimBox.Size = m_PersonSlots[i].AvatarButton.Size; SimBox.Name = NetworkFacade.Avatars[i].Name; m_UISims.Add(SimBox); this.Add(SimBox); } } } this.AddAt(0, new UIImage(BackgroundImage)); if (BackgroundImageDialog != null) { this.AddAt(1, new UIImage(BackgroundImageDialog) { X = 112, Y = 84 }); } /** * Button plumbing */ CreditsButton.OnButtonClick += new ButtonClickDelegate(CreditsButton_OnButtonClick); m_ExitButton.OnButtonClick += new ButtonClickDelegate(m_ExitButton_OnButtonClick); /** * Music */ HITVM.Get().PlaySoundEvent(UIMusic.SAS); NetworkFacade.Controller.OnCityToken += new OnCityTokenDelegate(Controller_OnCityToken); NetworkFacade.Controller.OnPlayerAlreadyOnline += new OnPlayerAlreadyOnlineDelegate(Controller_OnPlayerAlreadyOnline); NetworkFacade.Controller.OnCharacterRetirement += new OnCharacterRetirementDelegate(Controller_OnCharacterRetirement); }