예제 #1
0
        public void Blit(RLConsole console)
        {
            this.arenaConsole.SetBackColor(0, 0, Menu_Floor.arenaConsoleWidth, Menu_Floor.arenaConsoleHeight, RLColor.Black);
            this.arenaConsole.Print(1, 1, "Arena", RLColor.White);

            this.infoConsole.SetBackColor(0, 0, Menu_Floor.infoConsoleWidth, Menu_Floor.infoConsoleHeight, RLColor.Black);

            this.status1Console.SetBackColor(0, 0, Menu_Floor.statusWidth, Menu_Floor.statusHeight, RLColor.LightBlue);

            this.DrawArena(this.arenaConsole);
            RLConsole.Blit(this.arenaConsole, 0, 0, Menu_Floor.arenaConsoleWidth, Menu_Floor.arenaConsoleHeight, console, 0, 0);

            this.DrawInfo(this.infoConsole);
            RLConsole.Blit(this.infoConsole, 0, 0, Menu_Floor.infoConsoleWidth, Menu_Floor.infoConsoleHeight, console, 0, Menu_Floor.arenaConsoleHeight);

            if (this.targetMenu.Targeting && this.targetMenu.TargetedEntity != null)
            {
                Drawer_Mech.DrawMechStatus(this.targetMenu.TargetedEntity, this.status1Console);
            }
            else
            {
                Drawer_Mech.DrawMechStatus(this.examineMenu.ExaminedEntity, this.status1Console);
            }
            RLConsole.Blit(this.status1Console, 0, 0, Menu_Floor.statusWidth, Menu_Floor.statusHeight, console,
                           Menu_Floor.arenaConsoleWidth, 0);

            this.DrawLog(this.logConsole);
            RLConsole.Blit(this.logConsole, 0, 0, Menu_Floor.statusWidth, Menu_Floor.statusHeight, console,
                           Menu_Floor.arenaConsoleWidth, Menu_Floor.statusHeight);
        }
예제 #2
0
        public void Blit(RLConsole console)
        {
            Drawer_Mech.DrawMechStatus(this.mech, this.statusConsole);
            RLConsole.Blit(this.statusConsole, 0, 0, Menu_Floor.statusWidth, Menu_Floor.statusHeight, console, 0, 0);

            this.DrawSelection(console, 12, Menu_Floor.statusHeight + 1);
            this.DrawWeaponsListing(console, 1, Menu_Floor.statusHeight + 9);
            this.DrawMountsListing(console, 22, Menu_Floor.statusHeight + 9);
        }
예제 #3
0
        private static void DrawSkeleton(Entity mech, RLConsole console, int line, bool mechDestroyed)
        {
            var skeleton = mech.GetComponentOfType <Component_Skeleton>();

            Drawer_Mech.DrawBodyPartStatus(skeleton.InspectBodyPart(BodyPartLocation.RIGHT_ARM), 0, line + 4, mechDestroyed, console);
            Drawer_Mech.DrawBodyPartStatus(skeleton.InspectBodyPart(BodyPartLocation.RIGHT_LEG), 0, line + 14, mechDestroyed, console);

            Drawer_Mech.DrawBodyPartStatus(skeleton.InspectBodyPart(BodyPartLocation.LEFT_ARM), 40, line + 4, mechDestroyed, console);
            Drawer_Mech.DrawBodyPartStatus(skeleton.InspectBodyPart(BodyPartLocation.LEFT_LEG), 40, line + 14, mechDestroyed, console);

            Drawer_Mech.DrawBodyPartStatus(skeleton.InspectBodyPart(BodyPartLocation.HEAD), 20, line, mechDestroyed, console);
            Drawer_Mech.DrawBodyPartStatus(skeleton.InspectBodyPart(BodyPartLocation.TORSO), 20, line + 8, mechDestroyed, console);
        }
예제 #4
0
        public static void DrawMechStatus(Entity mech, RLConsole console)
        {
            int line = 1;

            int y = line;

            while (y < console.Height)
            {
                console.Print(0, y, "                                                                                                     ", RLColor.Black);
                y++;
            }

            var ai = mech.GetComponentOfType <Component_AI>();

            if (mech.HasComponentOfType <Component_Player>() || (ai != null && ai.Scanned))
            {
                var mechDestroyed = mech.TryGetDestroyed();
                if (mechDestroyed)
                {
                    console.Print(1, line, mech.ToString() + "             ", RLColor.Red);
                }
                else
                {
                    console.Print(1, line, mech.ToString() + "             ", RLColor.Black);
                }
                line++;
                line++;
                DrawSkeleton(mech, console, line, mechDestroyed);
                if (ai != null)
                {
                    Drawer_Mech.DrawAIInfo(mech, 0, line + 26, console);
                }
            }
            else
            {
                console.Print(console.Width / 2 - 15, console.Height / 2 - 2, "##############################", RLColor.Black);
                console.Print(console.Width / 2 - 15, console.Height / 2 - 1, "#                            #", RLColor.Black);
                console.Print(console.Width / 2 - 15, console.Height / 2, "# NO DATA - APPROACH TO SCAN #", RLColor.Black);
                console.Print(console.Width / 2 - 15, console.Height / 2 + 1, "#                            #", RLColor.Black);
                console.Print(console.Width / 2 - 15, console.Height / 2 + 2, "##############################", RLColor.Black);
            }
        }