Inheritance: Sharplike.Mapping.Entities.AbstractEntity
Ejemplo n.º 1
0
        static void Main()
        {
            Game.Initialize(".");

            AbstractWindow gwin;

            String glyphPath = Game.PathTo("curses_640x300.png");

            using (Stream imgstream = File.OpenRead(glyphPath))
            {
                GlyphPalette pal = new GlyphPalette(imgstream, 16, 16);

                Int32 width  = 80 * pal.GlyphDimensions.Width;
                Int32 height = 25 * pal.GlyphDimensions.Height;

                try
                {
                    Game.SetRenderSystem("OpenTK");
                    gwin = Game.RenderSystem.CreateWindow(new Size(width, height), pal);

                    Game.SetInputSystem("OpenTK");
                }
                catch (System.NullReferenceException e)
                {
                    Console.WriteLine("Error when loading plugin: " + e.Message + "\n" + e.Source);
                    return;
                }
            }

            Game.InputSystem.LoadConfiguration(Game.PathTo("commands.ini"));

            gwin.Clear();

            map = new MapStack(Game.RenderSystem.Window.WindowSize, 20, 15, "SandboxMap");
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(0, 0, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(1, 0, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(0, 1, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(1, 1, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(-1, 0, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(1, 1, 1));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(-1, 0, 1));

            cache = new ZColdCachingAlgorithm(map);

            ent          = new WanderingEntity();
            ent.Location = new Vector3(2, 2, 0);
            ent.Map      = map;


            gwin.AddRegion(map);

            Sharplike.UI.Controls.Label l = new UI.Controls.Label(new Size(50, 1), new Point(0, 0));
            l.Text = "Label on the map.";
            map.AddRegion(l);

            Sharplike.UI.Controls.Window win = new UI.Controls.Window(new Size(20, 10), new Point(5, 5));
            win.Title           = "Dialog Window";
            win.BackgroundColor = Color.FromArgb(100, 0, 0, 200);
            map.AddRegion(win);

            Game.OnGameInitialization += new EventHandler <EventArgs>(game_OnGameInitialization);
            Game.GameProcessing       += new EventHandler <EventArgs>(game_GameProcessing);
            StepwiseGameLoop loop = new StepwiseGameLoop(RunGame);

            Game.Run(loop);

            Game.Terminate();
        }
Ejemplo n.º 2
0
        static void Main()
        {
            Game.Initialize(".");

            AbstractWindow gwin;

            String glyphPath = Game.PathTo("curses_640x300.png");
            using (Stream imgstream = File.OpenRead(glyphPath))
            {
                GlyphPalette pal = new GlyphPalette(imgstream, 16, 16);

                Int32 width = 80 * pal.GlyphDimensions.Width;
                Int32 height = 25 * pal.GlyphDimensions.Height;

                try
                {
                    Game.SetRenderSystem("OpenTK");
                    gwin = Game.RenderSystem.CreateWindow(new Size(width, height), pal);

                    Game.SetInputSystem("OpenTK");
                }
                catch (System.NullReferenceException e)
                {
                    Console.WriteLine("Error when loading plugin: " + e.Message + "\n" + e.Source);
                    return;
                }

            }

            Game.InputSystem.LoadConfiguration(Game.PathTo("commands.ini"));

            gwin.Clear();

            map = new MapStack(Game.RenderSystem.Window.WindowSize, 20, 15, "SandboxMap");
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(0, 0, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(1, 0, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(0, 1, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(1, 1, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(-1, 0, 0));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(1, 1, 1));
            map.AddPage(new YellowWallPage(map.PageSize), new Vector3(-1, 0, 1));

            cache = new ZColdCachingAlgorithm(map);

            ent = new WanderingEntity();
            ent.Location = new Vector3(2, 2, 0);
            ent.Map = map;

            gwin.AddRegion(map);

            Sharplike.UI.Controls.Label l = new UI.Controls.Label(new Size(50, 1), new Point(0, 0));
            l.Text = "Label on the map.";
            map.AddRegion(l);

            Sharplike.UI.Controls.Window win = new UI.Controls.Window(new Size(20, 10), new Point(5, 5));
            win.Title = "Dialog Window";
            win.BackgroundColor = Color.FromArgb(100, 0, 0, 200);
            map.AddRegion(win);

            Game.OnGameInitialization += new EventHandler<EventArgs>(game_OnGameInitialization);
            Game.GameProcessing += new EventHandler<EventArgs>(game_GameProcessing);
            StepwiseGameLoop loop = new StepwiseGameLoop(RunGame);
            Game.Run(loop);

            Game.Terminate();
        }
Ejemplo n.º 3
0
        static Boolean RunGame(StepwiseGameLoop loop)
        {
            CommandData cmd = null;

            do
            {
                map.BroadcastMessage(cameraVector, new Vector3(5, 5, 1), "Ping");

                cache.ActiveLevel = cameraVector.z;
                cache.AssessCache();

                cmd = loop.WaitForInput();
                Console.WriteLine(cmd.ToString());
                //if (ent != null)
                //	ent.Wander();
                switch (cmd.Command)
                {
                case "move_left":
                    cameraVector = new Vector3(cameraVector.x - 1,
                                               cameraVector.y, cameraVector.z);
                    cameraMoved = true;
                    break;

                case "move_right":
                    cameraVector = new Vector3(cameraVector.x + 1,
                                               cameraVector.y, cameraVector.z);
                    cameraMoved = true;
                    break;

                case "move_up":
                    cameraVector = new Vector3(cameraVector.x,
                                               cameraVector.y - 1, cameraVector.z);
                    cameraMoved = true;
                    break;

                case "move_down":
                    cameraVector = new Vector3(cameraVector.x,
                                               cameraVector.y + 1, cameraVector.z);
                    cameraMoved = true;
                    break;

                case "move_in":
                    cameraVector = new Vector3(cameraVector.x,
                                               cameraVector.y, cameraVector.z + 1);
                    cameraMoved = true;
                    break;

                case "move_out":
                    cameraVector = new Vector3(cameraVector.x,
                                               cameraVector.y, cameraVector.z - 1);
                    cameraMoved = true;
                    break;

                case "spacebar":
                    ent.Dispose();
                    ent = null;
                    break;
                }
            } while (cmd.Command != "quit");

            return(false);
        }
Ejemplo n.º 4
0
        static Boolean RunGame(StepwiseGameLoop loop)
        {
            CommandData cmd = null;
            do
            {
                map.BroadcastMessage(cameraVector, new Vector3(5, 5, 1), "Ping");

                cache.ActiveLevel = cameraVector.z;
                cache.AssessCache();

                cmd = loop.WaitForInput();
                Console.WriteLine(cmd.ToString());
                //if (ent != null)
                //	ent.Wander();
                switch (cmd.Command)
                {
                    case "move_left":
                        cameraVector = new Vector3(cameraVector.x - 1,
                                            cameraVector.y, cameraVector.z);
                        cameraMoved = true;
                        break;
                    case "move_right":
                        cameraVector = new Vector3(cameraVector.x + 1,
                                            cameraVector.y, cameraVector.z);
                        cameraMoved = true;
                        break;
                    case "move_up":
                        cameraVector = new Vector3(cameraVector.x,
                                            cameraVector.y - 1, cameraVector.z);
                        cameraMoved = true;
                        break;
                    case "move_down":
                        cameraVector = new Vector3(cameraVector.x,
                                            cameraVector.y + 1, cameraVector.z);
                        cameraMoved = true;
                        break;
                    case "move_in":
                        cameraVector = new Vector3(cameraVector.x,
                                            cameraVector.y, cameraVector.z + 1);
                        cameraMoved = true;
                        break;
                    case "move_out":
                        cameraVector = new Vector3(cameraVector.x,
                                            cameraVector.y, cameraVector.z - 1);
                        cameraMoved = true;
                        break;
                    case "spacebar":
                        ent.Dispose();
                        ent = null;
                        break;
                }
            } while (cmd.Command != "quit");

            return false;
        }