Beispiel #1
0
 public TextHandler(FontDrawer drawer_, Point virtualDims_)
 {
     drawer        = drawer_;
     texts         = new List <string>();
     poses         = new List <float>();
     scrollSpeed   = 30;
     virtualDims   = virtualDims_;
     wasIgnored    = false;
     currentHeight = 0;
     isActive      = true;
 }
Beispiel #2
0
 /// <summary>
 /// Resize the stack in a non-destructive way
 /// </summary>
 /// <param name="newSize">The new size of the stack</param>
 public void resize(int newSize)
 {
     if (newSize > size_)
     {
         int nextSize = (newSize > size_ * 2) ? newSize : size_ * 2;
         FontDrawer[] tempStack = new FontDrawer[nextSize];
         for (int i = 0; i <= top_; i++)
         {
             tempStack[i] = stack_[i];
         }
         stack_ = tempStack;
         tempStack = null;
         size_ = nextSize;
         initializeStack();
     }
 }
Beispiel #3
0
        protected override void Initialize()
        {
            base.Initialize();
            currentState    = GameState.Menu;
            currentSubState = GameSubState.Main;

            CreateInputProfile();
            CreateScenes();

            transitionTimer = new MonoGame.FZT.Assets.Timer(2f);
            villagerTick    = new MonoGame.FZT.Assets.Timer(10f);
            gameTick        = new MonoGame.FZT.Assets.Timer(GameData.GameTick);

            PhysicsManager.CreateWorld();
            PhysicsManager.SetUnitRatio(64);
            PhysicsManager.SetupDebugview(GraphicsDevice, Content);

            cursor = new CursorManager();

            rng = new Random();

            fdrawer = new FontDrawer();
            List <TextureDrawer> font = new List <TextureDrawer>();
            string    junk            = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\".,;:?!'\"][-+/\\^&é0123456789";
            Texture2D tex             = Content.Load <Texture2D>("Placeholder/font2");

            for (int i = 0; i < junk.Length; i++)
            {
                font.Add(new TextureDrawer(tex, new TextureFrame(new Rectangle(8 * i, 0, 8, 10), new Point(0, 0)), null, junk[i].ToString(), null, null));
            }
            fdrawer.fonts.Add(new DrawerCollection(font, "font"));
            tooltipText       = "";
            changeTooltipText = true;
            tooltipPos        = new Vector2(33, 2);

            currentUI  = mainUI;
            currentBG  = mainMenuBG;
            cloudSpeed = 3;
            cloudTimer = 0;
        }
Beispiel #4
0
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            Button button = new Button("goToGame", new Rectangle(119, 196, 162, 48), new TextureDrawer(Content.Load <Texture2D>("button")));

            UIs = new UISystem[] { new UISystem(new List <Button>(1)
                {
                    button
                }, "Menu"), new UISystem(SetupGameButtons(), "Game") };
            currentUI = UIs[0];
            //LOAD ALL XML
            ElementCollection.ReadDocument(XDocument.Load("Content/Entities.xml"));
            ElementCollection.ReadDocument(XDocument.Load("Content/TurretSheet.xml"));
            XElement e = ElementCollection.GetSpritesheetRef("turrets");

            SpriteSheetCollection.LoadSheet(ElementCollection.GetSpritesheetRef("turrets"), Content);

            FontDrawer drawer = new FontDrawer();

            TextureDrawer[] letters = GetLettersFromSource();
            drawer.fonts.Add(new DrawerCollection(letters, "aaa"));
            handler = new TextHandler(drawer, virtualDims);

            SoundManager.AddEffect(Content.Load <SoundEffect>("classic_hurt"), "shoot");
            SoundManager.AddSong(Content.Load <Song>("ld41tracktest2"), "song");

            ChangeToQueue(0);

            //LOAD MAP AND ENTS
            gameMap = new Map(
                new Vector2[] {
                new Vector2(150, 0),
                new Vector2(153, 142),
                new Vector2(222, 142),
                new Vector2(222, 190),
                new Vector2(108, 190),
                new Vector2(108, 104),
                new Vector2(-30, 104)
            },
                new TextureDrawer(Content.Load <Texture2D>("envtest3")),
                new FRectangle[] {
                new FRectangle(0, 0, 141, 81),
                new FRectangle(119, 82, 26, 58),
                new FRectangle(135, 144, 78, 23),
                new FRectangle(162, 0, 79, 123),
                new FRectangle(230, 123, 9, 67),
                new FRectangle(102, 191, 138, 49),
                new FRectangle(0, 104, 100, 138)
            });

            availableTurrets = new List <Entity>();
            availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("machinegun 1"), new Vector2(24, 16), Content, ebuilder, false));
            availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("sniper 1"), new Vector2(24, 16), Content, ebuilder, false));
            availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("artillery 1"), new Vector2(24, 16), Content, ebuilder, false));
            availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("ring"), new Vector2(24, 16), Content, ebuilder, false));

            //availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("machinegun 2"), new Vector2(24, 16), Content, ebuilder, false));
            //availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("sniper 2"), new Vector2(24, 16), Content, ebuilder, false));
            //availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("artillery 2"), new Vector2(24, 16), Content, ebuilder, false));

            //availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("machinegun 3"), new Vector2(24, 16), Content, ebuilder, false));
            //availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("sniper 3"), new Vector2(24, 16), Content, ebuilder, false));
            //availableTurrets.Add(Assembler.GetEnt(ElementCollection.GetEntRef("artillery 3"), new Vector2(24, 16), Content, ebuilder, false));
            status = new TextureDrawer(Content.Load <Texture2D>("statusbar"));

            cursor        = new TextureDrawer(Content.Load <Texture2D>("cursor"), new TextureFrame(new Rectangle(0, 0, 8, 8), new Point(4, 4)));
            transitiontex = new TextureDrawer(Content.Load <Texture2D>("loading"));
            menutex       = new TextureDrawer(Content.Load <Texture2D>("start"));
            dedtex        = new TextureDrawer(Content.Load <Texture2D>("gameover"));
            textframe     = new TextureDrawer(Content.Load <Texture2D>("ui2"));
            loader        = new TextureDrawer(Content.Load <Texture2D>("loadanim"), new TextureFrame[] {
                new TextureFrame(new Rectangle(0, 0, 162, 48), Point.Zero),
                new TextureFrame(new Rectangle(0, 48, 162, 48), Point.Zero),
                new TextureFrame(new Rectangle(0, 96, 162, 48), Point.Zero),
                new TextureFrame(new Rectangle(0, 144, 162, 48), Point.Zero)
            });
        }
Beispiel #5
0
 protected void initializeStack()
 {
     for (int i = top_ + 1; i < size_; i++)
     {
         stack_[i] = new FontDrawer(spriteBatch_);
     }
 }
Beispiel #6
0
        protected override void Initialize()
        {
            dist = new Timer(0.2f);

            easeOut = new Timer(5f);
            easeIn  = new Timer(3f);

            gameState      = GameState.Menu;
            currentUInb    = 0;
            score          = 0;
            IsMouseVisible = true;
            blackness      = 0.5f;
            fading         = true;
            goingToMenu    = false;
            //VALUES

            //UTILITY
            ebuilder = new EntBuilder42();

            scenes = new SceneCollection();
            scenes.scenes.Add(new Scene(
                                  new RenderTarget2D(GraphicsDevice, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, wdims.X, wdims.Y),
                                  "main"
                                  ));

            scenes.scenes.Add(new Scene(
                                  new RenderTarget2D(GraphicsDevice, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, vdims.X, vdims.Y),
                                  "UI"
                                  ));

            scenes.scenes.Add(new Scene(
                                  new RenderTarget2D(GraphicsDevice, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, vdims.X, vdims.Y),
                                  "game"
                                  ));

            scenes.scenes.Add(new Scene(
                                  new RenderTarget2D(GraphicsDevice, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, vdims.X, vdims.Y),
                                  new Rectangle(0, 0, vdims.X, vdims.Y),
                                  "inven"
                                  ));

            cursorManager = new CursorManager();
            KeyManager[] keyManagers = new KeyManager[] { };
            ipp     = InputProfile.GetLetterProfile();
            fdrawer = new FontDrawer();

            List <TextureDrawer> chars = new List <TextureDrawer>();
            string white = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?!:;.-_@";

            for (int i = 0; i < white.Length; i++)
            {
                chars.Add(new TextureDrawer(Content.Load <Texture2D>("Placeholder/font_white"), new TextureFrame(new Rectangle(i * 6, 0, 5, 11), Point.Zero), null, white[i].ToString()));
            }
            white = "abcdefghijklmnopqrstuvwxyz";
            for (int i = 0; i < white.Length; i++)
            {
                chars.Add(new TextureDrawer(Content.Load <Texture2D>("Placeholder/font_white"), new TextureFrame(new Rectangle(i * 6, 13, 5, 11), Point.Zero), null, white[i].ToString()));
            }
            //real font
            List <TextureDrawer> char2s = new List <TextureDrawer>();

            white = "01234";
            for (int i = 0; i < white.Length; i++)
            {
                char2s.Add(new TextureDrawer(Content.Load <Texture2D>("UI/score"), new TextureFrame(new Rectangle(i * 16, 16, 16, 16), Point.Zero), null, white[i].ToString()));
            }
            white = "56789";
            for (int i = 0; i < white.Length; i++)
            {
                char2s.Add(new TextureDrawer(Content.Load <Texture2D>("UI/score"), new TextureFrame(new Rectangle(i * 16, 32, 16, 16), Point.Zero), null, white[i].ToString()));
            }


            fdrawer.fonts = new List <DrawerCollection> {
                new DrawerCollection(chars, "whitefont"), new DrawerCollection(char2s, "realfont")
            };

            ipp.AddArrowInput();

            base.Initialize();
        }