Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }