public override void draw(SpriteBatch sprite_batch, Vector2 draw_offset = default(Vector2)) { // Stats Window Stats_Window.draw(sprite_batch, draw_offset); foreach (var node in StatusPageNodes .Where(x => x is StatusPrimaryStatUINode)) { (node as StatusPrimaryStatUINode).DrawGaugeBg( sprite_batch, draw_offset); } // Item Window Items_Window.draw(sprite_batch, draw_offset); SiegeBg.draw(sprite_batch, draw_offset); // Window Design // Window_Design.draw(sprite_batch, draw_offset); // Draw Window Contents // foreach (var node in StatusPageNodes) { node.Draw(sprite_batch, draw_offset); } }
public override void set_images(Game_Unit unit) { if (Global.ActorConfig.ShowAllActorWeaponTypes) { // Add potential WLvls var nodes = StatusPageNodes.ToList(); foreach (var weapon_type in TemporaryWLvls) { nodes.Remove(weapon_type); } HashSet <int> weapon_type_indices = new HashSet <int>(); HashSet <int> added_weapon_types = new HashSet <int>(); foreach (var weapon_type in Global.weapon_types.Where(x => x.DisplayedInStatus)) { added_weapon_types.Add(weapon_type.Key); weapon_type_indices.Add(weapon_type.StatusIndex); } int index = 0; foreach (var weapon_type in Global.weapon_types .Where(x => !x.DisplayedInStatus) .OrderBy(x => x.StatusIndex)) { if (unit.actor.has_rank(weapon_type)) { while (weapon_type_indices.Contains(index)) { index++; } var node = weapon_type_icon(weapon_type, index); nodes.Add(node); TemporaryWLvls.Add(node); added_weapon_types.Add(weapon_type.Key); weapon_type_indices.Add(index); } } StatusPageNodes = new UINodeSet <StatusUINode>(nodes); int wlvl_rows = (int)Math.Ceiling(added_weapon_types.Count / (float)WLVL_COLUMNS); WLvls_Window.height = (wlvl_rows + 1) * 16; } // Refresh UI nodes refresh(unit); }