internal SupportUINode( string helpLabel, int actorId, int targetActorId, string str, int width) : base(helpLabel) { Size = new Vector2(width, 16); Text = new TextSprite(); Text.draw_offset = new Vector2(16, 0); Text.SetFont(Tactile.Config.UI_FONT, Global.Content, "White"); Text.text = str; // Map Sprite MapSprite = new Character_Sprite(); MapSprite.facing_count = 3; MapSprite.frame_count = 3; MapSprite.draw_offset = new Vector2(8, 16); MapSprite.mirrored = Constants.Team.flipped_map_sprite(Constants.Team.PLAYER_TEAM); Rank = new RightAdjustedText(); Rank.draw_offset = new Vector2(104, 0); Rank.SetFont(Tactile.Config.UI_FONT + "L", Tactile.Config.UI_FONT); if (DisplayedActor(targetActorId)) { set_map_sprite_texture(true, MapSpriteName(targetActorId)); Text.SetColor(Global.Content, SupportEnabled(actorId, targetActorId) ? "White" : "Grey"); Rank.SetColor(Global.Content, SupportEnabled(actorId, targetActorId) ? "White" : "Grey"); Rank.text = RankText(actorId, targetActorId); Icon_Sprite icon = new Icon_Sprite(); icon.texture = Global.Content.Load <Texture2D>(@"Graphics/Icons/Affinity Icons"); icon.size = new Vector2(16, 16); icon.index = GetAffinity(targetActorId); Affinity = icon; } else { set_map_sprite_texture(false, MapSpriteName(targetActorId)); Text.SetColor(Global.Content, "Grey"); Rank.SetColor(Global.Content, "Grey"); Rank.text = Constants.Support.SUPPORT_LETTERS[0]; TextSprite affinity = new TextSprite(); affinity.SetFont(Tactile.Config.UI_FONT, Global.Content, "Grey"); affinity.text = "--"; Affinity = affinity; } MapSprite.frame = Global.game_system.unit_anim_idle_frame; Affinity.draw_offset = new Vector2(64, 0); }
protected void initialize_images() { // Window Window = new SystemWindowHeadered(); Window.width = this.window_width; Window.height = 48; // Target Sprite Target_Sprite = new Character_Sprite(); Target_Sprite.draw_offset = new Vector2(20, 24); Target_Sprite.facing_count = 3; Target_Sprite.frame_count = 3; // Names Name = new TextSprite(); Name.SetFont(Config.UI_FONT, Global.Content, "White"); // Stat Labels Stat_Labels = new List <TextSprite>(); for (int i = 0; i < 1; i++) { Stat_Labels.Add(new TextSprite()); Stat_Labels[i].offset = new Vector2(-8, -(24 + (i * 16))); Stat_Labels[i].SetFont(Config.UI_FONT, Global.Content, "Yellow"); } Stat_Labels[0].SetFont(Config.UI_FONT + "L", Config.UI_FONT); Stat_Labels[0].text = "HP"; set_images(); }
public Worldmap_Unit(int team, string filename) { Team = team; Filename = filename; Unit_Sprite = new Character_Sprite(); Unit_Sprite.draw_offset = WORLDMAP_UNIT_OFFSET; Scene_Map.refresh_map_sprite(Unit_Sprite, Team, Filename, false); }
protected void initialize_images() { // Windows Window = new SystemWindowHeadered(); Window.width = this.window_width; Window.height = 48; Window.draw_offset = new Vector2(0, (!this.target_position_reversed ? 0 : 48)); Target_Window = new SystemWindowHeadered(); Target_Window.width = this.window_width; Target_Window.height = 48; Target_Window.draw_offset = new Vector2(0, (this.target_position_reversed ? 0 : 48)); // Map Sprites Unit_Sprite = new Character_Sprite(); Unit_Sprite.draw_offset = new Vector2(20, 24 + (!this.target_position_reversed ? 0 : 48)); Unit_Sprite.facing_count = 3; Unit_Sprite.frame_count = 3; Target_Sprite = new Character_Sprite(); Target_Sprite.draw_offset = new Vector2(20, 24 + (this.target_position_reversed ? 0 : 48)); Target_Sprite.facing_count = 3; Target_Sprite.frame_count = 3; // Names Name1 = new TextSprite(); Name1.draw_offset = new Vector2(32, 8 + (!this.target_position_reversed ? 0 : 48)); Name1.SetFont(Config.UI_FONT, Global.Content, "White"); Name2 = new TextSprite(); Name2.draw_offset = new Vector2(32, 8 + (this.target_position_reversed ? 0 : 48)); Name2.SetFont(Config.UI_FONT, Global.Content, "White"); //Name1, , Aid_Value; //Name2, Con_Label, Con_Value; // Labels Aid_Label = new TextSprite(); Aid_Label.draw_offset = new Vector2(8, 24 + (!this.target_position_reversed ? 0 : 48)); Aid_Label.SetFont(Config.UI_FONT, Global.Content, "Yellow"); Aid_Label.text = "Aid"; Con_Label = new TextSprite(); Con_Label.draw_offset = new Vector2(8, 24 + (this.target_position_reversed ? 0 : 48)); Con_Label.SetFont(Config.UI_FONT, Global.Content, "Yellow"); Con_Label.text = "Con"; // Stats Aid_Value = new RightAdjustedText(); Aid_Value.draw_offset = new Vector2(72, 24 + (!this.target_position_reversed ? 0 : 48)); Aid_Value.SetFont(Config.UI_FONT, Global.Content, "Blue"); Con_Value = new RightAdjustedText(); Con_Value.draw_offset = new Vector2(72, 24 + (this.target_position_reversed ? 0 : 48)); Con_Value.SetFont(Config.UI_FONT, Global.Content, "Blue"); // Hand Hand = new Hand_Cursor(); Hand.offset = new Vector2(8, 0); Hand.draw_offset = new Vector2(48, 47); Hand.mirrored = !this.target_position_reversed; Hand.angle = MathHelper.PiOver2; // Rescue Icon Rescue_Icon = new Sprite(); Rescue_Icon.texture = Global.Content.Load <Texture2D>(@"Graphics/Characters/RescueIcon"); set_images(); }
internal MapSpriteUINode(string helpLabel, TextSprite text, int width) : base(helpLabel, text, width) { MapSprite = new Character_Sprite(); MapSprite.draw_offset = new Vector2(8, 16); MapSprite.facing_count = 3; MapSprite.frame_count = 3; Text.draw_offset += new Vector2(16, 0); }
protected void initialize_images() { // Lord Lord_Sprite = new Character_Sprite(); Lord_Sprite.draw_offset = new Vector2(0, 4); // (0, 8); //Debug Lord_Sprite.facing_count = 3; Lord_Sprite.frame_count = 3; Lord_Sprite.stereoscopic = Config.MAP_UNITS_DEPTH; Lord_Sprite.mirrored = Constants.Team.flipped_map_sprite( Constants.Team.PLAYER_TEAM); // Map Map = new Sprite(Global.Content.Load <Texture2D>(@"Graphics/Panoramas/Worldmap")); Map.stereoscopic = Config.MAP_MAP_DEPTH; Zoomed_Out_Map = new Sprite(Global.Content.Load <Texture2D>(@"Graphics/Panoramas/Worldmap")); Zoomed_Out_Map.loc = new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2; Zoomed_Out_Map.offset = new Vector2(Zoomed_Out_Map.texture.Width, Zoomed_Out_Map.texture.Height) / 2; Zoomed_Out_Map.scale = new Vector2( Math.Max((float)(Config.WINDOW_WIDTH + Config.WMAP_ZOOMED_DEPTH * 4) / Zoomed_Out_Map.texture.Width, (float)(Config.WINDOW_HEIGHT) / Zoomed_Out_Map.texture.Height));//Debug Zoomed_Out_Map.opacity = 0; Zoomed_Out_Map.stereoscopic = Config.WMAP_ZOOMED_DEPTH; Minimap = new Sprite(Global.Content.Load <Texture2D>(@"Graphics/Panoramas/Worldmap")); Minimap.scale = Constants.WorldMap.WORLDMAP_MINIMAP_SCALE; Minimap.loc = new Vector2(Config.WINDOW_WIDTH - 1, Config.WINDOW_HEIGHT - 1) + Constants.WorldMap.WORLDMAP_MINIMAP_OFFSET; Minimap.offset = new Vector2(Minimap.texture.Width, Minimap.texture.Height); Minimap.stereoscopic = Config.WMAP_MINIMAP_DEPTH; Minimap_Backing = new Sprite(Global.Content.Load <Texture2D>(@"Graphics/White_Square")); Minimap_Backing.scale = new Vector2((((int)Math.Round(Minimap.scale.X * Minimap.texture.Width) + 2) / (float)Minimap_Backing.texture.Width), (((int)Math.Round(Minimap.scale.Y * Minimap.texture.Height) + 2) / (float)Minimap_Backing.texture.Height)); Minimap_Backing.loc = new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) + Constants.WorldMap.WORLDMAP_MINIMAP_OFFSET; Minimap_Backing.offset = new Vector2(Minimap_Backing.texture.Width, Minimap_Backing.texture.Height); Minimap_Backing.tint = new Color(0, 0, 0, 255); Minimap_Backing.stereoscopic = Config.WMAP_MINIMAP_DEPTH; ViewArea = new World_Minimap_ViewArea(new Vector2((int)Math.Round(Config.WINDOW_WIDTH * Minimap.scale.X) + 2, (int)Math.Round(Config.WINDOW_HEIGHT * Minimap.scale.Y) + 2)); ViewArea.loc = Minimap.loc - new Vector2((int)Math.Round(Minimap.scale.X * Minimap.texture.Width), (int)Math.Round(Minimap.scale.Y * Minimap.texture.Height)) - new Vector2(1, 1) - new Vector2((int)Math.Round(Config.WINDOW_WIDTH * Minimap.scale.X) + 2, (int)Math.Round(Config.WINDOW_HEIGHT * Minimap.scale.Y) + 2) / 2; ViewArea.stereoscopic = Config.WMAP_MINIMAP_DEPTH; MenuManager = new WorldmapMenuManager(this, MenuData); }
protected override void initialize_images() { // Window Unit_Window = new SystemWindowHeadered(); Unit_Window.width = this.window_width; // Target Sprite Unit_Sprite = new Character_Sprite(); Unit_Sprite.draw_offset = new Vector2(20, 24 + 48); Unit_Sprite.facing_count = 3; Unit_Sprite.frame_count = 3; // Names Unit_Name = new TextSprite(); Unit_Name.SetFont(Config.UI_FONT, Global.Content, "White"); base.initialize_images(); }
internal PrepItemsUnitUINode(string name) { Name = new TextSprite(); Name.draw_offset = new Vector2(16, 0); Name.SetFont(Config.UI_FONT, Global.Content, "White"); Name.text = name; // Map Sprite MapSprite = new Character_Sprite(); MapSprite.facing_count = 3; MapSprite.frame_count = 3; MapSprite.draw_offset = new Vector2(8, 16); MapSprite.mirrored = Constants.Team.flipped_map_sprite(Constants.Team.PLAYER_TEAM); GlowingLine = new Unit_Line_Cursor(64); GlowingLine.draw_offset = new Vector2(0, 8); GlowingLine.visible = false; }
protected virtual void initialize_images() { // Window Window = new SystemWindowHeadered(); Window.width = this.window_width; // Target Sprite Target_Sprite = new Character_Sprite(); Target_Sprite.draw_offset = new Vector2(20, 24); Target_Sprite.facing_count = 3; Target_Sprite.frame_count = 3; // Names Name = new TextSprite(); Name.SetFont(Config.UI_FONT, Global.Content, "White"); // Stat Labels initialize_stat_labels(); set_images(); }
protected void initialize_images() { // Windows Window = new Trade_Target_Window_Img(); // Names Name = new TextSprite(); Name.SetFont(Config.UI_FONT, Global.Content, "White"); Name.draw_offset = new Vector2(32, 8); // Target Sprite Target_Sprite = new Character_Sprite(); Target_Sprite.draw_offset = new Vector2(20, 24); Target_Sprite.facing_count = 3; Target_Sprite.frame_count = 3; // Rescue Icon Rescue_Icon = new Sprite(); Rescue_Icon.texture = Global.Content.Load <Texture2D>(@"Graphics/Characters/RescueIcon"); Rescue_Icon.draw_offset = new Vector2(4, 0); set_images(); }
public Window_WorldMap_Data() { Window = new Sprite(Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Worldmap_Window")); Window.src_rect = new Rectangle(0, 0, 136, 64); Window.tint = new Color(224, 224, 224, 224); Labels = new Sprite(Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Worldmap_Window")); Labels.src_rect = new Rectangle(0, 64, 136, 64); // Chapter Chapter = new TextSprite(); Chapter.loc = new Vector2(8, 8); Chapter.SetFont(Config.UI_FONT, Global.Content, "White"); // Lord_Lvl Lord_Lvl = new RightAdjustedText(); Lord_Lvl.loc = new Vector2(128, 8); Lord_Lvl.SetFont(Config.UI_FONT, Global.Content, "Blue"); // Mode Mode = new TextSprite(); Mode.loc = new Vector2(12, 24); Mode.SetFont(Config.UI_FONT, Global.Content, "Blue"); // Unit_Count Unit_Count = new RightAdjustedText(); Unit_Count.loc = new Vector2(40, 40); Unit_Count.SetFont(Config.UI_FONT, Global.Content, "Blue"); // Gold Gold = new RightAdjustedText(); Gold.loc = new Vector2(120, 40); Gold.SetFont(Config.UI_FONT, Global.Content, "Blue"); // Lord Lord_Sprite = new Character_Sprite(); Lord_Sprite.loc = new Vector2(88, 24); Lord_Sprite.facing_count = 3; Lord_Sprite.frame_count = 3; Lord_Sprite.mirrored = Constants.Team.flipped_map_sprite( Constants.Team.PLAYER_TEAM); // Arrows Left_Arrow = new Page_Arrow(); Left_Arrow.loc = new Vector2(0, 24); Right_Arrow = new Page_Arrow(); Right_Arrow.loc = new Vector2(WIDTH, 24); Right_Arrow.mirrored = true; }
public WindowCommandSupportViewerActor(int actorId, Vector2 loc) { Rows = LINES; ActorId = actorId; Header = new Support_Command_Components(LINES, this.SupportsRemaining, true); Header.color_override = 0; List <string> strs = GetNames(); initialize(loc, 8 + 16, strs); Window_Img.color_override = 0; Window_Img.set_lines(LINES, (int)Size_Offset.Y + 8); int width = WIDTH - 16; this.text_offset = new Vector2(width - (this.ColumnCount + 1) * 8, 0); set_columns(this.ColumnCount); this.size_offset = new Vector2(width - this.text_area_width, Size_Offset.Y); Window_Img.set_lines(LINES, (int)Size_Offset.Y + 8); initialize_scrollbar(); if (Scrollbar != null) { Scrollbar.loc += new Vector2(4, 0); } // Bar Glow = true; this.glow_width = 16; this.bar_offset = new Vector2(-4, 0); // Cursor UICursor.UpdateTargetLoc(ScrollOffset); UICursor.move_to_target_loc(); PlayerCursor = new Character_Sprite(Global.Content.Load <Texture2D>(@"Graphics/Characters/Cursor")); PlayerCursor.offset = new Vector2(4, 0 - 2); SetUnits(); }
protected void initialize_images() { // Windows Window = new SystemWindowHeadered(); Window.width = this.window_width; Window.height = 48; Window.draw_offset = new Vector2(0, 0); // Map Sprites Unit_Sprite = new Character_Sprite(); Unit_Sprite.draw_offset = new Vector2(20, 24); Unit_Sprite.facing_count = 3; Unit_Sprite.frame_count = 3; // Names Name = new TextSprite(); Name.draw_offset = new Vector2(32, 8); Name.SetFont(Config.UI_FONT, Global.Content, "White"); //Name1, , Aid_Value; //Name2, Con_Label, Con_Value; // Labels Hp_Label = new TextSprite(); Hp_Label.draw_offset = new Vector2(8, 24); Hp_Label.SetFont(Config.UI_FONT, Global.Content, "Yellow"); Hp_Label.text = "HP"; Slash = new TextSprite(); Slash.draw_offset = new Vector2(48, 24); Slash.SetFont(Config.UI_FONT, Global.Content, "Yellow"); Slash.text = "/"; // Stats Hp = new RightAdjustedText(); Hp.draw_offset = new Vector2(48, 24); Hp.SetFont(Config.UI_FONT, Global.Content, "Blue"); MaxHp = new RightAdjustedText(); MaxHp.draw_offset = new Vector2(72, 24); MaxHp.SetFont(Config.UI_FONT, Global.Content, "Blue"); set_images(); }
protected void initialize_sprites() { // Black Screen Black_Screen = new Sprite(); Black_Screen.texture = Global.Content.Load <Texture2D>(@"Graphics/White_Square"); Black_Screen.dest_rect = new Rectangle(0, 0, Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT); Black_Screen.tint = new Color(0, 0, 0, 255); // Background Background = new Menu_Background(); Background.texture = Global.Content.Load <Texture2D>(@"Graphics/Pictures/Status_Background"); Background.vel = new Vector2(-0.25f, 0); Background.tile = new Vector2(3, 2); Background.stereoscopic = Config.MAPMENU_BG_DEPTH; // UI Nodes TopPanelNodes = new List <StatusUINode>(); // Top Panel // // Top Panel Top_Panel = new Status_Top_Panel_Bg(new List <Texture2D> { Global.Content.Load <Texture2D>(@"Graphics/Pictures/Portrait_bg"), Global.Content.Load <Texture2D>(@"Graphics/Windowskins/WindowPanel") }); Top_Panel.stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; // Face Bg Face_Bg = new Menu_Background();// Sprite(); //Debug Face_Bg.texture = Global.Content.Load <Texture2D>(@"Graphics/Pictures/Portrait_bg"); Face_Bg.loc = new Vector2(4, 4); Face_Bg.src_rect = new Rectangle(12, 4, 8, 8); Face_Bg.tile = new Vector2(11, 9); Face_Bg.stereoscopic = Config.STATUS_FACE_BG_DEPTH; // Map Sprite Map_Sprite = new Character_Sprite(); Map_Sprite.draw_offset = MAP_SPRITE_LOC + new Vector2(16, 16); Map_Sprite.facing_count = 3; Map_Sprite.frame_count = 3; Map_Sprite.stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; // Map Sprite Platform Platform = new Sprite(); Platform.texture = Global.Content.Load <Texture2D>(@"Graphics/Characters/StatusPlatform"); Platform.loc = MAP_SPRITE_LOC; Platform.stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; // Name TopPanelNodes.Add(new StatusTextUINode( "Name", (Game_Unit unit) => unit.name, true)); TopPanelNodes.Last().loc = new Vector2(112, 4); TopPanelNodes.Last().draw_offset = new Vector2(34, 0); TopPanelNodes.Last().Size = new Vector2(68, 16); TopPanelNodes.Last().stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; // Class Name TopPanelNodes.Add(new StatusTextUINode( "Class", (Game_Unit unit) => unit.actor.class_name)); TopPanelNodes.Last().loc = new Vector2(104, 24); TopPanelNodes.Last().Size = new Vector2(72, 16); TopPanelNodes.Last().stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; // Lives TopPanelNodes.Add(new StatusLivesUINode("Lives")); TopPanelNodes.Last().loc = new Vector2(180, 60); TopPanelNodes.Last().stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; // LV/HP/etc TopPanelNodes.Add(new StatusStatLargeLabelUINode( "Lvl", "LV", (Game_Unit unit) => unit.actor.level.ToString(), 32)); TopPanelNodes.Last().loc = new Vector2(104, 40); TopPanelNodes.Last().stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; Func <Game_Unit, DirectionFlags, bool> lvl_cheat = (unit, dir) => { int lvl_gain = 0; if (dir.HasFlag(DirectionFlags.Right)) { lvl_gain = 1; } else if (dir.HasFlag(DirectionFlags.Left)) { lvl_gain = -1; } unit.actor.level += lvl_gain; unit.queue_move_range_update(); return(lvl_gain != 0); }; #if DEBUG TopPanelNodes.Last().set_cheat(lvl_cheat); #endif TopPanelNodes.Add(new StatusStatUINode( "Exp", "$", (Game_Unit unit) => unit.actor.can_level() ? unit.actor.exp.ToString() : "--", 24)); TopPanelNodes.Last().loc = new Vector2(136, 40); TopPanelNodes.Last().stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; Func <Game_Unit, DirectionFlags, bool> exp_cheat = (unit, dir) => { int exp_gain = 0; if (dir.HasFlag(DirectionFlags.Right)) { exp_gain = 1; } else if (dir.HasFlag(DirectionFlags.Left)) { exp_gain = -1; } unit.actor.exp = (int)MathHelper.Clamp( unit.actor.exp + exp_gain, 0, Global.ActorConfig.ExpToLvl - 1); return(exp_gain != 0); }; #if DEBUG TopPanelNodes.Last().set_cheat(exp_cheat); #endif Func <Game_Unit, Color> label_color = null; if (show_stat_colors(Stat_Labels.Hp)) { label_color = (Game_Unit unit) => { if (unit.average_stat_hue_shown) { return(unit.actor.stat_color(Stat_Labels.Hp)); } return(Color.White); }; } TopPanelNodes.Add(new StatusHpUINode( "Hp", "HP", (Game_Unit unit) => { if (unit.actor.hp >= Math.Pow(10, Global.BattleSceneConfig.StatusHpCounterValues)) { return("--"); } else { return(unit.actor.hp.ToString()); } }, (Game_Unit unit) => { if (unit.actor.maxhp >= Math.Pow(10, Global.BattleSceneConfig.StatusHpCounterValues)) { return("--"); } else { return(unit.actor.maxhp.ToString()); } }, label_color)); TopPanelNodes.Last().loc = new Vector2(104, 56); TopPanelNodes.Last().stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; #if DEBUG TopPanelNodes.Last().set_cheat( Status_Page_1.stat_cheat(Stat_Labels.Hp)); #endif // Battle Stat Labels Battle_Stat_Labels = new List <TextSprite>(); for (int i = 0; i < 1; i++) { Battle_Stat_Labels.Add(new TextSprite()); Battle_Stat_Labels[i].loc = new Vector2(204 + (i / 4) * 56, 8 + (i % 4) * 16); Battle_Stat_Labels[i].SetFont(Config.UI_FONT, Global.Content, "Yellow"); Battle_Stat_Labels[i].text = "doop"; Battle_Stat_Labels[i].stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; } Battle_Stat_Labels[0].SetColor(Global.Content, "White"); Battle_Stat_Labels[0].text = "Battle Stats"; // Battle Stats for (int i = 1; i < 8; i++) { string help_label; string label; Func <Game_Unit, string> stat_formula; switch (i) { // Atk case 1: default: help_label = "Atk"; label = "Atk"; stat_formula = (Game_Unit unit) => { var stats = new BattlerStats(unit.id); if (!stats.has_non_staff_weapon) { return("--"); } return(stats.dmg().ToString()); }; break; // Hit case 2: help_label = "Hit"; label = "Hit"; stat_formula = (Game_Unit unit) => { var stats = new BattlerStats(unit.id); if (!stats.has_non_staff_weapon) { return("--"); } return(stats.hit().ToString()); }; break; // Dodge case 7: help_label = "Dodge"; label = "Dodge"; stat_formula = (Game_Unit unit) => { var stats = new BattlerStats(unit.id); return(stats.dodge().ToString()); }; break; // Range case 4: help_label = "Range"; label = "Rng"; stat_formula = (Game_Unit unit) => { if (unit.actor.weapon == null || unit.actor.weapon.is_staff()) { return("--"); } Data_Weapon weapon = unit.actor.weapon; int min_range = unit.min_range(); int max_range = unit.max_range(); if (min_range == max_range) { return(min_range.ToString()); } else { return(string.Format("{0}-{1}", min_range, max_range)); } }; break; // Crit case 3: help_label = "Crit"; label = "Crit"; stat_formula = (Game_Unit unit) => { var stats = new BattlerStats(unit.id); if (!stats.has_non_staff_weapon || !stats.can_crit()) { return("--"); } return(stats.crt().ToString()); }; break; // Avoid case 6: help_label = "Avoid"; label = "Avoid"; stat_formula = (Game_Unit unit) => { var stats = new BattlerStats(unit.id); return(stats.avo().ToString()); }; break; // AS case 5: help_label = "AS"; label = "AS"; stat_formula = (Game_Unit unit) => unit.atk_spd().ToString(); break; } Vector2 loc = new Vector2(204 + (i / 4) * 56, 8 + (i % 4) * 16); TopPanelNodes.Add(new StatusStatUINode(help_label, label, stat_formula)); TopPanelNodes.Last().loc = loc; TopPanelNodes.Last().stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; } // Rescue Icon Rescue_Icon = new Sprite(); Rescue_Icon.texture = Global.Content.Load <Texture2D>(@"Graphics/Characters/RescueIcon"); Rescue_Icon.loc = new Vector2(103, -5); Rescue_Icon.stereoscopic = Config.STATUS_TOP_PANEL_DEPTH; // Pages // Pages.Add(new Status_Page_1()); Pages.Add(new Status_Page_2()); Pages.Add(new Status_Page_3()); // Page Arrows Left_Page_Arrow = new Page_Arrow(); Left_Page_Arrow.loc = new Vector2(4, 84); Left_Page_Arrow.stereoscopic = Config.STATUS_ARROW_DEPTH; Left_Page_Arrow.ArrowClicked += Left_Page_Arrow_ArrowClicked; Right_Page_Arrow = new Page_Arrow(); Right_Page_Arrow.loc = new Vector2(Config.WINDOW_WIDTH - 4, 84); Right_Page_Arrow.mirrored = true; Right_Page_Arrow.stereoscopic = Config.STATUS_ARROW_DEPTH; Right_Page_Arrow.ArrowClicked += Right_Page_Arrow_ArrowClicked; create_cancel_button(); set_images(); }
private void initialize_sprites() { // Black Screen Black_Screen = new Sprite(); Black_Screen.texture = Global.Content.Load <Texture2D>(@"Graphics/White_Square"); Black_Screen.dest_rect = new Rectangle(0, 0, Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT); Black_Screen.tint = new Color(0, 0, 0, 255); // Banner Banner = new TextSprite(); string str = Global.data_chapters[Global.game_state.chapter_id].FullName; Banner.loc = new Vector2(Config.WINDOW_WIDTH, 32) / 2 - new Vector2(Font_Data.text_width(str, Config.CHAPTER_FONT) / 2, 8); Banner.SetFont(Config.CHAPTER_FONT, Global.Content, "Data"); Banner.text = str; Banner.stereoscopic = Config.DATA_BANNER_DEPTH; int alpha = 7 * 16; BannerBg = new Sprite(); BannerBg.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); BannerBg.loc = new Vector2(64, 0); BannerBg.src_rect = new Rectangle(0, 176, 192, 32); BannerBg.tint = new Color(alpha, alpha, alpha, 256 - alpha); BannerBg.stereoscopic = Config.DATA_BANNER_DEPTH; // Unit Bg UnitBg = new Sprite(); UnitBg.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); UnitBg.loc = new Vector2(132, 120); UnitBg.src_rect = new Rectangle(0, 272, 128, 72); UnitBg.tint = new Color(alpha, alpha, alpha, 256 - alpha); UnitBg.stereoscopic = Config.DATA_LEADER_DEPTH; // File Bg FileBg = new Sprite(); FileBg.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); FileBg.loc = new Vector2(260, 128); FileBg.src_rect = new Rectangle(0, 208, 56, 64); FileBg.tint = new Color(alpha, alpha, alpha, 256 - alpha); FileBg.stereoscopic = Config.DATA_LEADER_DEPTH; // Background Background = new Menu_Background(); Background.texture = Global.Content.Load <Texture2D>(@"Graphics/Pictures/Status_Background"); (Background as Menu_Background).vel = new Vector2(-0.25f, 0); (Background as Menu_Background).tile = new Vector2(3, 2); Background.stereoscopic = Config.MAPMENU_BG_DEPTH; // Cursor Cursor = new Data_Team_Cursor(); Cursor.stereoscopic = Config.DATA_TEAMS_DEPTH; // Objective Window Objective_Window = new Sprite(); Objective_Window.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Objective_Window.loc = new Vector2(132, 32); Objective_Window.src_rect = new Rectangle(32, 0, 184, 96); Objective_Window.stereoscopic = Config.DATA_WINDOW_DEPTH; // Game Data Window Game_Data_Window = new Sprite(); Game_Data_Window.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Game_Data_Window.loc = new Vector2(324, 120); Game_Data_Window.src_rect = new Rectangle(104, 96, 112, 72); Game_Data_Window.stereoscopic = Config.DATA_DATA_DEPTH; // Team Windows/Text int y = 0; for (int i = 1; i <= Constants.Team.NUM_TEAMS; i++) { if (Global.game_map.teams[i].Count > 0) { List <int> groups = new List <int>(); Dictionary <int, int> group_sizes = new Dictionary <int, int>(); foreach (int id in Global.game_map.teams[i]) { if (!groups.Contains(Global.game_map.units[id].group)) { groups.Add(Global.game_map.units[id].group); group_sizes.Add(Global.game_map.units[id].group, 0); } group_sizes[Global.game_map.units[id].group]++; } Groups.Add(new KeyValuePair <int, int>(i, groups.Count)); Team_Windows.Add(new Data_Team_Window(i, group_sizes.Count)); Team_Windows[Team_Windows.Count - 1].loc = TEAM_WINDOW_LOC + new Vector2(0, 0 + y); Team_Windows[Team_Windows.Count - 1].stereoscopic = Config.DATA_TEAMS_DEPTH; groups.Sort(); for (int j = 0; j < groups.Count; j++) { Group_Names.Add(new TextSprite()); Group_Names[Group_Names.Count - 1].loc = TEAM_WINDOW_LOC + new Vector2(4, y + 12 + j * 16); Group_Names[Group_Names.Count - 1].SetFont(Config.UI_FONT, Global.Content, "White"); Group_Names[Group_Names.Count - 1].text = Global.game_map.group_name(i, groups[j]); Group_Names[Group_Names.Count - 1].stereoscopic = Config.DATA_TEAMS_DEPTH; Group_Counts.Add(new RightAdjustedText()); Group_Counts[Group_Names.Count - 1].loc = TEAM_WINDOW_LOC + new Vector2(112, y + 12 + j * 16); Group_Counts[Group_Names.Count - 1].SetFont(Config.UI_FONT, Global.Content, "Blue"); Group_Counts[Group_Names.Count - 1].text = group_sizes[groups[j]].ToString(); Group_Counts[Group_Names.Count - 1].stereoscopic = Config.DATA_TEAMS_DEPTH; } y += (group_sizes.Count + 1) * 16; } } // Game Data Window RankingWindow = new Data_Ranking_Window(); RankingWindow.loc = new Vector2(320, 32); RankingWindow.width = 120; RankingWindow.height = 80; RankingWindow.stereoscopic = Config.DATA_TEAMS_DEPTH; // Counter Counter = new Play_Time_Counter(); Counter.loc = Game_Data_Window.loc + new Vector2(12, 48); Counter.stereoscopic = Config.DATA_DATA_DEPTH; // Labels Objective_Label = new Sprite(); Objective_Label.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Objective_Label.loc = Objective_Window.loc + new Vector2(16 - 2, 12 - 2); Objective_Label.src_rect = new Rectangle(0, 96, 56, 16); Objective_Label.stereoscopic = Config.DATA_WINDOW_DEPTH; Defeat_Label = new Sprite(); Defeat_Label.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Defeat_Label.loc = Objective_Window.loc + new Vector2(16 - 2, 44 - 2); Defeat_Label.src_rect = new Rectangle(56, 96, 40, 16); Defeat_Label.stereoscopic = Config.DATA_WINDOW_DEPTH; Turn_Label = new Sprite(); Turn_Label.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Turn_Label.loc = Game_Data_Window.loc + new Vector2(8, 8); Turn_Label.src_rect = new Rectangle(0, 112, 32, 16); Turn_Label.stereoscopic = Config.DATA_DATA_DEPTH; Funds_Label = new Sprite(); Funds_Label.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Funds_Label.loc = Game_Data_Window.loc + new Vector2(8, 24); Funds_Label.src_rect = new Rectangle(0, 128, 32, 16); Funds_Label.stereoscopic = Config.DATA_DATA_DEPTH; Gold_G = new Sprite(); Gold_G.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Gold_G.loc = Game_Data_Window.loc + new Vector2(88 + 5, 24); Gold_G.src_rect = new Rectangle(0, 160, 16, 16); Gold_G.stereoscopic = Config.DATA_DATA_DEPTH; Lv_Label = new Sprite(); Lv_Label.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Lv_Label.loc = UnitBg.loc + new Vector2(8, 40 + 0 - 2); Lv_Label.src_rect = new Rectangle(32, 112, 16, 16); Lv_Label.stereoscopic = Config.DATA_LEADER_DEPTH; Hp_Label = new Sprite(); Hp_Label.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); Hp_Label.loc = UnitBg.loc + new Vector2(8, 40 + 12 - 2); Hp_Label.src_rect = new Rectangle(48, 112, 24, 16); Hp_Label.stereoscopic = Config.DATA_LEADER_DEPTH; TextSprite hp_slash = new TextSprite(); // why is this done so //@Yeti hp_slash.loc = UnitBg.loc + new Vector2(44, 40 + 12); hp_slash.SetFont(Config.UI_FONT, Global.Content, "Yellow"); hp_slash.text = "/"; Hp_Slash = hp_slash; Hp_Slash.stereoscopic = Config.DATA_LEADER_DEPTH; RatingLabel = new Sprite(); RatingLabel.texture = Global.Content.Load <Texture2D>(@"Graphics/Windowskins/Data_Screen"); RatingLabel.loc = UnitBg.loc + new Vector2(72, 40 + 12 - 2); RatingLabel.src_rect = new Rectangle(72, 112, 24, 16); RatingLabel.stereoscopic = Config.DATA_LEADER_DEPTH; RankingLabel = new TextSprite(); RankingLabel.loc = RankingWindow.loc + new Vector2(24, 8); RankingLabel.SetFont(Config.UI_FONT, Global.Content, "Yellow"); RankingLabel.text = "Progress"; RankingLabel.stereoscopic = Config.DATA_TEAMS_DEPTH; TurnsRankLabel = new TextSprite(); TurnsRankLabel.loc = RankingWindow.loc + new Vector2(8, 24); TurnsRankLabel.SetFont(Config.UI_FONT, Global.Content, "Yellow"); TurnsRankLabel.text = "Turns"; TurnsRankLabel.stereoscopic = Config.DATA_TEAMS_DEPTH; CombatRankLabel = new TextSprite(); CombatRankLabel.loc = RankingWindow.loc + new Vector2(8, 40); CombatRankLabel.SetFont(Config.UI_FONT, Global.Content, "Yellow"); CombatRankLabel.text = "Combat"; CombatRankLabel.stereoscopic = Config.DATA_TEAMS_DEPTH; ExpRankLabel = new TextSprite(); ExpRankLabel.loc = RankingWindow.loc + new Vector2(8, 56); ExpRankLabel.SetFont(Config.UI_FONT, Global.Content, "Yellow"); ExpRankLabel.text = "Exp"; ExpRankLabel.stereoscopic = Config.DATA_TEAMS_DEPTH; FileLabel = new TextSprite(); FileLabel.loc = FileBg.loc + new Vector2(8, 40); FileLabel.SetFont(Config.UI_FONT, Global.Content, "Yellow"); FileLabel.text = "File"; FileLabel.stereoscopic = Config.DATA_LEADER_DEPTH; // Victory Text Victory_Text = new TextSprite(); Victory_Text.loc = Objective_Window.loc + new Vector2(68, 12); Victory_Text.SetFont(Config.UI_FONT, Global.Content, "White"); Victory_Text.text = Global.game_system.Victory_Text; Victory_Text.stereoscopic = Config.DATA_WINDOW_DEPTH; // Loss Text Loss_Text = new TextSprite(); Loss_Text.loc = Objective_Window.loc + new Vector2(68, 44); Loss_Text.SetFont(Config.UI_FONT, Global.Content, "White"); Loss_Text.text = Global.game_system.Loss_Text; Loss_Text.stereoscopic = Config.DATA_WINDOW_DEPTH; // Turn Text Turn = new RightAdjustedText(); Turn.loc = Game_Data_Window.loc + new Vector2(100, 8); Turn.SetFont(Config.UI_FONT, Global.Content, "Blue"); Turn.text = Global.game_system.chapter_turn.ToString(); Turn.stereoscopic = Config.DATA_DATA_DEPTH; // Funds Text Funds = new RightAdjustedText(); Funds.loc = Game_Data_Window.loc + new Vector2(92, 24); Funds.SetFont(Config.UI_FONT, Global.Content, "Blue"); Funds.text = Global.battalion.gold.ToString(); Funds.stereoscopic = Config.DATA_DATA_DEPTH; // Leader Name Leader_Name = new TextSprite(); Leader_Name.loc = UnitBg.loc + new Vector2(32 + 24, 12); Leader_Name.SetFont(Config.UI_FONT, Global.Content, "White"); Leader_Name.stereoscopic = Config.DATA_LEADER_DEPTH; // Level Lvl = new RightAdjustedText(); Lvl.loc = UnitBg.loc + new Vector2(68, 40 + 0); Lvl.SetFont(Config.UI_FONT, Global.Content, "Blue"); Lvl.stereoscopic = Config.DATA_LEADER_DEPTH; // Hp Hp = new RightAdjustedText(); Hp.loc = UnitBg.loc + new Vector2(44, 40 + 12); Hp.SetFont(Config.UI_FONT, Global.Content, "Blue"); Hp.stereoscopic = Config.DATA_LEADER_DEPTH; // Hp Max Hp_Max = new RightAdjustedText(); Hp_Max.loc = UnitBg.loc + new Vector2(68, 40 + 12); Hp_Max.SetFont(Config.UI_FONT, Global.Content, "Blue"); Hp_Max.stereoscopic = Config.DATA_LEADER_DEPTH; // Rating Rating = new RightAdjustedText(); Rating.loc = UnitBg.loc + new Vector2(120, 40 + 12); Rating.SetFont(Config.UI_FONT, Global.Content, "Blue"); Rating.stereoscopic = Config.DATA_LEADER_DEPTH; // Map Sprite Map_Sprite = new Character_Sprite(); Map_Sprite.facing_count = 3; Map_Sprite.frame_count = 3; Map_Sprite.loc = UnitBg.loc + new Vector2(20, 24); Map_Sprite.stereoscopic = Config.DATA_LEADER_DEPTH; // Miniface Face = new Miniface(); Face.loc = UnitBg.loc + new Vector2(104, 8); Face.stereoscopic = Config.DATA_LEADER_DEPTH; // Weapon LeaderWeapon = new Item_Display(); LeaderWeapon.loc = UnitBg.loc + new Vector2(8, 28); LeaderWeapon.stereoscopic = Config.DATA_LEADER_DEPTH; // File number FileNumber = new RightAdjustedText(); FileNumber.loc = FileBg.loc + new Vector2(40, 40); FileNumber.SetFont(Config.UI_FONT, Global.Content, "Blue"); FileNumber.text = Global.current_save_id.ToString(); FileNumber.stereoscopic = Config.DATA_LEADER_DEPTH; // Style StyleText = new TextSprite(); StyleText.loc = FileBg.loc + new Vector2(8, 8); StyleText.SetFont(Config.UI_FONT, Global.Content, "Blue"); StyleText.text = Global.game_system.Style.ToString(); StyleText.stereoscopic = Config.DATA_LEADER_DEPTH; // Difficulty DifficultyText = new TextSprite(); DifficultyText.loc = FileBg.loc + new Vector2(8, 24); DifficultyText.SetFont(Config.UI_FONT, Global.Content, "Blue"); DifficultyText.text = Global.game_system.Difficulty_Mode.ToString(); DifficultyText.stereoscopic = Config.DATA_LEADER_DEPTH; // Rank Letters TotalRankLetter = new TextSprite(); TotalRankLetter.loc = RankingWindow.loc + new Vector2(88, 8); TotalRankLetter.SetFont(Config.UI_FONT + "L", Global.Content, "Blue", Config.UI_FONT); TotalRankLetter.stereoscopic = Config.DATA_TEAMS_DEPTH; TurnsRankLetter = new TextSprite(); TurnsRankLetter.loc = RankingWindow.loc + new Vector2(104, 24); TurnsRankLetter.SetFont(Config.UI_FONT + "L", Global.Content, "Blue", Config.UI_FONT); TurnsRankLetter.stereoscopic = Config.DATA_TEAMS_DEPTH; CombatRankLetter = new TextSprite(); CombatRankLetter.loc = RankingWindow.loc + new Vector2(104, 40); CombatRankLetter.SetFont(Config.UI_FONT + "L", Global.Content, "Blue", Config.UI_FONT); CombatRankLetter.stereoscopic = Config.DATA_TEAMS_DEPTH; ExpRankLetter = new TextSprite(); ExpRankLetter.loc = RankingWindow.loc + new Vector2(104, 56); ExpRankLetter.SetFont(Config.UI_FONT + "L", Global.Content, "Blue", Config.UI_FONT); ExpRankLetter.stereoscopic = Config.DATA_TEAMS_DEPTH; // Rank Gauges TurnsBar = new Stat_Bar(); TurnsBar.loc = RankingWindow.loc + new Vector2(40, 32); TurnsBar.offset = new Vector2(-2, 0); TurnsBar.bar_width = RANKING_BAR_LENGTH; TurnsBar.stereoscopic = Config.DATA_TEAMS_DEPTH; CombatBar = new Stat_Bar(); CombatBar.loc = RankingWindow.loc + new Vector2(40, 48); CombatBar.offset = new Vector2(-2, 0); CombatBar.bar_width = RANKING_BAR_LENGTH; CombatBar.stereoscopic = Config.DATA_TEAMS_DEPTH; ExpBar = new Stat_Bar(); ExpBar.loc = RankingWindow.loc + new Vector2(40, 64); ExpBar.offset = new Vector2(-2, 0); ExpBar.bar_width = RANKING_BAR_LENGTH; ExpBar.stereoscopic = Config.DATA_TEAMS_DEPTH; // Page Arrows Left_Page_Arrow = new Page_Arrow(); Left_Page_Arrow.loc = new Vector2(4, 72); Left_Page_Arrow.stereoscopic = Config.DATA_BANNER_DEPTH; Right_Page_Arrow = new Page_Arrow(); Right_Page_Arrow.loc = new Vector2(Config.WINDOW_WIDTH - 4, 72); Right_Page_Arrow.mirrored = true; Right_Page_Arrow.stereoscopic = Config.DATA_BANNER_DEPTH; refresh_rank(); set_images(); }