public override void Update(GameTime gameTime) { base.Update(gameTime); if (!HasLoaded && StandLoader.Instance.Loaded) { HasLoaded = true; foreach (var stand in StandLoader.Instance.Generics) { if (!stand.CanAcquire(TBAPlayer.Get(Main.LocalPlayer))) { continue; } int projToKill = Projectile.NewProjectile(Vector2.Zero, Vector2.Zero, TBAMod.Instance.ProjectileType(stand.GetType().Name), 0, 0, Main.myPlayer); StandCard standCard = new StandCard(Main.projectile[projToKill].modProjectile as Stand); standCard.Left.Set(5, 0); standCard.OnClick += SetStand; StandCardGrid.Add(standCard); Main.projectile[projToKill].Kill(); } } Recalculate(); }
private void SetStand(UIMouseEvent evt, UIElement listeningElement) { StandCard card = listeningElement as StandCard; if (card != null) { if (!TBAPlayer.Get(Main.LocalPlayer).UnlockedStands.Contains(card.StandUnlocalizedName)) { return; } UIManager.StandComboLayer.State.Visible = true; UIManager.StandComboLayer.State.CurrentStand = StandLoader.Instance.FindGeneric(x => x.StandName.ToString() == card.StandDisplayName); UIManager.StandComboLayer.State.NeedsToUpdateAutopsyReport = true; } }
public override void OnInitialize() { MainPanel = new UIPanel(); MainPanel.Width.Set(760, 0); MainPanel.Height.Set(440, 0); MainPanel.HAlign = 0.5f; MainPanel.VAlign = 0.5f; UIPanel standInfoPanel = new UIPanel(); standInfoPanel.Width.Set(220, 0); standInfoPanel.Height.Set(400, 0); standInfoPanel.HAlign = 0.005f; standInfoPanel.VAlign = 0.5f; standInfoPanel.BackgroundColor = new Color(new Vector3(0.2f)) * 0.5f; UIPanel gridPanel = new UIPanel(); gridPanel.Width.Set(ComboPanel.WIDTH + 68, 0); gridPanel.Height.Set(ComboPanel.CLOSED_HEIGHT * 3 + 40, 0); gridPanel.HAlign = 0.95f; gridPanel.VAlign = 0.5f; gridPanel.BackgroundColor = new Color(new Vector3(0.2f)) * 0.5f; UIScrollbar scrollBar = new UIScrollbar(); scrollBar.Width.Set(24, 0); scrollBar.Height.Set(380, 0); scrollBar.HAlign = 0.985f; scrollBar.VAlign = 0.5f; Card = new StandCard { HAlign = 0.5f, VAlign = 0.015f }; ComboGrid = new UIGrid(); ComboGrid.Width.Set(ComboPanel.WIDTH + 40, 0); ComboGrid.Height.Set(ComboPanel.CLOSED_HEIGHT * 3 + 120, 0); ComboGrid.SetScrollbar(scrollBar); ComboGrid.HAlign = 0.5f; ComboGrid.VAlign = 0.5f; gridPanel.Append(ComboGrid); gridPanel.Append(scrollBar); MainPanel.Append(gridPanel); //////////////////////////////////////////////////////////// // Stand's Stats DamageStat = new UIDamageStat(DamageType.Any); DamageStat.Top.Set(TOP_OFFSET, 0); RangeStat = new UIRangeStat(); RangeStat.Top.Set(TOP_OFFSET + 46, 0); standInfoPanel.Append(Card); standInfoPanel.Append(DamageStat); standInfoPanel.Append(RangeStat); //////////////////////////////////////////////////////////// MainPanel.Append(standInfoPanel); base.Append(MainPanel); }