Example #1
0
 public Button(TextureRegion normal, TextureRegion pressed)
 {
     normalTextureRegion  = normal;
     pressedTextureRegion = pressed;
 }
Example #2
0
        protected override void LoadContent()
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            var tex                  = Content.Load <Texture2D>("TestTextures/Test");
            var fengPortrait         = new TextureRegion(Content.Load <Texture2D>("Portraits/framedFeng"));
            var knightPortrait       = new TextureRegion(Content.Load <Texture2D>("Portraits/framedKnight"));
            var fengPortraitGolden   = new TextureRegion(Content.Load <Texture2D>("Portraits/framedFengGolden"));
            var knightPortraitGolden = new TextureRegion(Content.Load <Texture2D>("Portraits/framedKnightGolden"));

            var titleStyle = new UntexturedStyle(_spriteBatch)
            {
                Font          = new GenericSpriteFont(Content.Load <SpriteFont>("Fonts/alagard")),
                TextScale     = 8.0f,
                PanelTexture  = new NinePatch(new TextureRegion(tex, 0, 8, 24, 24), 8),
                ButtonTexture = new NinePatch(new TextureRegion(tex, 24, 8, 16, 16), 4),
            };

            var style = new UntexturedStyle(_spriteBatch)
            {
                Font                     = new GenericSpriteFont(Content.Load <SpriteFont>("Fonts/alagard")),
                TextScale                = 2.25f,
                TextFieldTexture         = new NinePatch(new TextureRegion(tex, 24, 8, 16, 16), 4),
                PanelTexture             = new NinePatch(new TextureRegion(tex, 0, 8, 24, 24), 8),
                ButtonTexture            = new NinePatch(new TextureRegion(tex, 24, 8, 16, 16), 4),
                ScrollBarBackground      = new NinePatch(new TextureRegion(tex, 12, 0, 4, 8), 1, 1, 2, 2),
                ScrollBarScrollerTexture = new NinePatch(new TextureRegion(tex, 8, 0, 4, 8), 1, 1, 2, 2)
            };

            UiSystem = new UiSystem(Window, GraphicsDevice, style);
            titleUi  = new UiSystem(Window, GraphicsDevice, titleStyle);

            var prgTitle = new Paragraph(Anchor.TopCenter, 1, "Way of The", true)
            {
                PositionOffset = new Vector2(0, 20)
            };
            var prgSubTitle = new Paragraph(Anchor.TopCenter, 1, "Sword", true)
            {
                PositionOffset = new Vector2(0, 140)
            };

            titleUi.Add("title", prgTitle);
            titleUi.Add("subTitle", prgSubTitle);

            var panel   = new Panel(Anchor.Center, new Vector2(GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height), positionOffset: Vector2.Zero);
            var imgFeng = new Image(Anchor.Center, new Vector2(200, 200), fengPortrait)
            {
                IsHidden = true, PositionOffset = new Vector2(-150, 20)
            };
            var btnFeng = new Button(Anchor.Center, imgFeng.Size, "")
            {
                HoveredColor   = Color.Transparent,
                NormalColor    = Color.Transparent,
                PositionOffset = new Vector2(-150, 20),
                IsHidden       = true
            };
            var imgKnight = new Image(Anchor.Center, new Vector2(235, 235), knightPortrait)
            {
                IsHidden = true, PositionOffset = new Vector2(150, 32)
            };;
            var btnKnight = new Button(Anchor.Center, imgKnight.Size, "")
            {
                HoveredColor   = Color.Transparent,
                NormalColor    = Color.Transparent,
                PositionOffset = new Vector2(150, 32),
                IsHidden       = true
            };
            var prgAuthor = new Paragraph(Anchor.Center, 1, "By Ethan Eshed", true)
            {
                PositionOffset = new Vector2(0, 80)
            };
            var btnPlay = new Button(Anchor.BottomCenter, new Vector2(200, 50), "Play")
            {
                PositionOffset = new Vector2(0, 35)
            };
            var btnFight = new Button(Anchor.BottomCenter, new Vector2(200, 50), "Fight!")
            {
                IsHidden       = true,
                PositionOffset = new Vector2(0, 35)
            };
            var prgPlayers = new Paragraph(Anchor.Center, 1, "Select your Champion", true)
            {
                PositionOffset = new Vector2(0, -120), IsHidden = true
            };
            var btnProceed = new Button(Anchor.BottomCenter, new Vector2(200, 50), "Proceed")
            {
                IsHidden = true, PositionOffset = new Vector2(0, 35)
            };
            var prgNickName = new Paragraph(Anchor.Center, 1, "Enter your Name", true)
            {
                PositionOffset = new Vector2(-19, -80), IsHidden = true
            };
            var txtBoxNickName = new TextField(Anchor.Center, new Vector2(400, 50))
            {
                IsHidden = true, PositionOffset = new Vector2(0, 30)
            };

            var btnBack = new Button(Anchor.TopRight, new Vector2(200, 50), "Back")
            {
                IsHidden       = true,
                PositionOffset = new Vector2(15, 15),
                OnPressed      = e =>
                {
                    if (!btnFight.IsHidden) // champion select screen
                    {
                        btnProceed.IsHidden     = false;
                        txtBoxNickName.IsHidden = false;
                        prgNickName.IsHidden    = false;
                        e.IsHidden = false;

                        prgPlayers.IsHidden = true;
                        imgFeng.IsHidden    = true;
                        imgKnight.IsHidden  = true;
                        btnFight.IsHidden   = true;
                        btnFeng.IsHidden    = true;
                        btnKnight.IsHidden  = true;
                    }
                    else
                    {
                        prgTitle.IsHidden       = false;
                        prgSubTitle.IsHidden    = false;
                        prgAuthor.IsHidden      = false;
                        btnPlay.IsHidden        = false;
                        btnProceed.IsHidden     = true;
                        txtBoxNickName.IsHidden = true;
                        prgNickName.IsHidden    = true;
                        e.IsHidden = true;
                    }
                }
            };

            btnPlay.OnPressed = e =>
            {
                prgTitle.IsHidden       = true;
                prgSubTitle.IsHidden    = true;
                prgAuthor.IsHidden      = true;
                e.IsHidden              = true;
                btnBack.IsHidden        = false;
                btnProceed.IsHidden     = false;
                txtBoxNickName.IsHidden = false;
                prgNickName.IsHidden    = false;
            };

            btnProceed.OnPressed = e =>
            {
                if (!txtBoxNickName.Text.Equals(""))
                {
                    prgPlayers.IsHidden     = false;
                    imgFeng.IsHidden        = false;
                    imgKnight.IsHidden      = false;
                    btnFight.IsHidden       = false;
                    btnFeng.IsHidden        = false;
                    btnKnight.IsHidden      = false;
                    btnProceed.IsHidden     = true;
                    txtBoxNickName.IsHidden = true;
                    prgNickName.IsHidden    = true;
                    nickName = txtBoxNickName.Text;
                }
            };

            btnFeng.OnPressed = e =>
            {
                imgKnight.Texture = knightPortrait;
                imgFeng.Texture   = fengPortraitGolden;
                champion          = "feng";
            };
            btnFeng.OnMouseEnter = e =>
            {
                imgFeng.Texture = fengPortraitGolden;
            };
            btnFeng.OnMouseExit = e =>
            {
                if (champion != "feng")
                {
                    imgFeng.Texture = fengPortrait;
                }
            };

            btnKnight.OnPressed = e =>
            {
                imgFeng.Texture   = fengPortrait;
                imgKnight.Texture = knightPortraitGolden;
                champion          = "knight";
            };
            btnKnight.OnMouseEnter = e =>
            {
                imgKnight.Texture = knightPortraitGolden;
            };
            btnKnight.OnMouseExit = e =>
            {
                if (champion != "knight")
                {
                    imgKnight.Texture = knightPortrait;
                }
            };

            btnFight.OnPressed = e =>
            {
                if (champion != "none")
                {
                    UiSystem.Dispose();
                    titleUi.Dispose();
                    Exit();
                    Communicator.Setup(champion, nickName);
                }
            };

            panel.AddChild(prgPlayers);
            panel.AddChild(prgAuthor);
            panel.AddChild(btnPlay);
            panel.AddChild(btnBack);
            panel.AddChild(imgFeng);
            panel.AddChild(imgKnight);
            panel.AddChild(btnFight);
            panel.AddChild(btnFeng);
            panel.AddChild(btnKnight);
            panel.AddChild(btnPlay);
            panel.AddChild(txtBoxNickName);
            panel.AddChild(btnProceed);
            panel.AddChild(prgNickName);

            UiSystem.Add("StartMenu", panel);
        }
Example #3
0
 public Stamp(TextureRegion textureRegion)
 {
     _textureRegion = textureRegion;
     Width          = _textureRegion.Width;
     Height         = _textureRegion.Height;
 }
 public static TextureAttribute createBump(TextureRegion region)
 {
     return(new TextureAttribute(Bump, region));
 }
 public static TextureAttribute createEmissive(TextureRegion region)
 {
     return(new TextureAttribute(Emissive, region));
 }
 public TextureAttribute(long type, TextureRegion region) : this(type)
 {
     set(region);
 }
 public static TextureAttribute createSpecular(TextureRegion region)
 {
     return(new TextureAttribute(Specular, region));
 }
Example #8
0
 public int add(TextureRegion region, float x, float y, float scaleX, float scaleY)
 {
     return(add(region, x, y, 1, 1, 0, 0, 0));
 }
Example #9
0
 public int add(TextureRegion region, float x, float y, float scaleX, float scaleY, float originX, float originY,
                float rotation)
 {
     return(add(region, x, y, 1, 1, 0, 0, 0, false, false));
 }
Example #10
0
 private void add(TextureRegion region, out int posX, out int posY)
 {
     add(region.getTexture(), region.getRegionX(), region.getRegionY(), region.getRegionWidth(), region.getRegionHeight(), out posX, out posY);
 }
Example #11
0
 public int add(TextureRegion region, float x, float y)
 {
     return(add(region, x, y, 1, 1));
 }
Example #12
0
 //================================================================
 //Constructors
 //================================================================
 public Button(Vector2 pos, TextureRegion region)
     : base(pos)
 {
     regions    = new TextureRegion[1];
     regions[0] = region;
 }
Example #13
0
        public static void Init()
        {
            if (letterB != null)
            {
                return;
            }

            var d = DateTime.Now;

            flipAll     = d.Month == 4 && d.Day == 1;
            showK       = Rnd.Float() < 0.999f;
            flipR       = Rnd.Float() > 0.999f;
            extremeWave = Rnd.Float() > 0.999f;
            knig        = true;

            var anim = Animations.Get("logo");

            letterB  = anim.GetSlice("b");
            letterU  = anim.GetSlice("u");
            letterR  = anim.GetSlice("r");
            letterN1 = anim.GetSlice("n1");
            letterI1 = anim.GetSlice("i1");
            letterN2 = anim.GetSlice("n2");
            letterG1 = anim.GetSlice("g1");
            letterK  = anim.GetSlice("k");
            letterN3 = anim.GetSlice("n3");
            letterI2 = anim.GetSlice("i2");
            letterG2 = anim.GetSlice("g2");
            letterH  = anim.GetSlice("h");
            letterT  = anim.GetSlice("t");
            dot      = anim.GetSlice("dot");

            anim = Animations.Get("logobg");

            letterWB  = anim.GetSlice("b");
            letterWU  = anim.GetSlice("u");
            letterWR  = anim.GetSlice("r");
            letterWN1 = anim.GetSlice("n1");
            letterWI1 = anim.GetSlice("i1");
            letterWN2 = anim.GetSlice("n2");
            letterWG1 = anim.GetSlice("g1");
            letterWK  = anim.GetSlice("k");
            letterWN3 = anim.GetSlice("n3");
            letterWI2 = anim.GetSlice("i2");
            letterWG2 = anim.GetSlice("g2");
            letterWH  = anim.GetSlice("h");
            letterWT  = anim.GetSlice("t");
            wdot      = anim.GetSlice("dot");

            letterBB  = anim.GetSlice("bb");
            letterBU  = anim.GetSlice("bu");
            letterBR  = anim.GetSlice("br");
            letterBN1 = anim.GetSlice("bn1");
            letterBI1 = anim.GetSlice("bi1");
            letterBN2 = anim.GetSlice("bn2");
            letterBG1 = anim.GetSlice("bg1");
            letterBK  = anim.GetSlice("bk");
            letterBN3 = anim.GetSlice("bn3");
            letterBI2 = anim.GetSlice("bi2");
            letterBG2 = anim.GetSlice("bg2");
            letterBH  = anim.GetSlice("bh");
            letterBT  = anim.GetSlice("bt");
            bdot      = anim.GetSlice("bdot");
        }
Example #14
0
 public void Draw(SpriteBatch batch, Rectangle dest, float opacity = 1.0f)
 {
     TextureRegion.Draw(batch, dest, Color * opacity);
 }
Example #15
0
 public ParticleInfo(TextureRegion region, Color color, ref Matrix transform)
 {
     this.region = region; this.color = color; this.transform = transform;
 }
Example #16
0
 public PlayerSpawn(TextureRegion textureRegion, Stage stage)
 {
     this.textureRegion = textureRegion;
     this.stage         = stage;
 }
Example #17
0
 public NinePatch newNinePatch(TextureRegion region, int left, int right, int top, int bottom)
 {
     return(new MonoGameNinePatch(region, left, right, top, bottom));
 }
Example #18
0
 public void drawTextureRegion(TextureRegion textureRegion, float x, float y)
 {
     drawTextureRegion(textureRegion, x, y, textureRegion.getRegionWidth(), textureRegion.getRegionHeight());
 }
 public static TextureAttribute createDiffuse(TextureRegion region)
 {
     return(new TextureAttribute(Diffuse, region));
 }
Example #20
0
 public void drawTextureRegion(TextureRegion textureRegion, float x, float y, float width, float height)
 {
     drawTextureRegion(textureRegion, x, y, width, height, 0);
 }
 public static TextureAttribute createNormal(TextureRegion region)
 {
     return(new TextureAttribute(Normal, region));
 }
Example #22
0
            public static bool Prefix(TextureRegion region, int x0, int y0, int x1, int y1)
            {
                if (!_lightsOut)
                {
                    return(true);
                }

                var config = ConfigManager.Config;

                byte[] visible = Grid.Visible;
                var    lightIntensityIndexer = Grid.LightIntensity;

                var lowestFogVal = config.LowestFog;
                var gameCycle    = GameClock.Instance.GetCycle();

                if (lowestFogVal == 0 && gameCycle < 3)
                {
                    lowestFogVal = Math.Max(0, (3 - gameCycle) * 10);
                }

                for (var y = y0; y <= y1; ++y)
                {
                    for (var x = x0; x <= x1; ++x)
                    {
                        var cell = Grid.XYToCell(x, y);

                        if (visible[cell] == 0)
                        {
                            region.SetBytes(x, y, 0);
                            continue;
                        }

                        var lux = lightIntensityIndexer[cell];

                        if (lux == 0)
                        {
                            var neighboringCells = new List <int>();

                            if (Grid.IsValidCell(Grid.CellAbove(cell)))
                            {
                                neighboringCells.Add(Grid.CellAbove(cell));
                            }
                            if (Grid.IsValidCell(Grid.CellUpRight(cell)))
                            {
                                neighboringCells.Add(Grid.CellUpRight(cell));
                            }
                            if (Grid.IsValidCell(Grid.CellRight(cell)))
                            {
                                neighboringCells.Add(Grid.CellRight(cell));
                            }
                            if (Grid.IsValidCell(Grid.CellDownRight(cell)))
                            {
                                neighboringCells.Add(Grid.CellDownRight(cell));
                            }
                            if (Grid.IsValidCell(Grid.CellBelow(cell)))
                            {
                                neighboringCells.Add(Grid.CellBelow(cell));
                            }
                            if (Grid.IsValidCell(Grid.CellDownLeft(cell)))
                            {
                                neighboringCells.Add(Grid.CellDownLeft(cell));
                            }
                            if (Grid.IsValidCell(Grid.CellLeft(cell)))
                            {
                                neighboringCells.Add(Grid.CellLeft(cell));
                            }
                            if (Grid.IsValidCell(Grid.CellUpLeft(cell)))
                            {
                                neighboringCells.Add(Grid.CellUpLeft(cell));
                            }

                            var light = 0;

                            foreach (var c in neighboringCells)
                            {
                                light += Grid.LightIntensity[c];
                            }

                            lux = light / neighboringCells.Count;
                        }

                        var luxMapped = Math.Min(lux, config.LuxThreshold);
                        var output    = Remap(luxMapped, 0, config.LuxThreshold, lowestFogVal, config.HighestFog);

                        region.SetBytes(x, y, (byte)output);
                    }
                }

                return(false);
            }
 public static TextureAttribute createAmbient(TextureRegion region)
 {
     return(new TextureAttribute(Ambient, region));
 }
Example #24
0
 public Sprite newSprite(TextureRegion texture)
 {
     return(new MonoGameSprite(texture));
 }
 public static TextureAttribute createReflection(TextureRegion region)
 {
     return(new TextureAttribute(Reflection, region));
 }
Example #26
0
 public Sprite newSprite(TextureRegion texture, int x, int y, int width, int height)
 {
     return(new MonoGameSprite(texture, x, y, width, height));
 }
Example #27
0
        public RandomFrameComponent(string anim)
        {
            var list = Animations.Get(anim).Layers.First().Value;

            Sprite = list[Rnd.Int(list.Count)].Texture;
        }
Example #28
0
 public TextureRegion newTextureRegion(TextureRegion texture)
 {
     return(new MonoGameTextureRegion(texture));
 }
Example #29
0
File: Gdx.cs Project: janfokke/Myra
        public static TextureRegionAtlas FromGDX(string data, Func <string, Texture2D> textureLoader)
        {
            GDXPageData pageData    = null;
            var         spriteDatas = new Dictionary <string, GDXSpriteData>();

            using (var textReader = new StringReader(data))
            {
                GDXSpriteData spriteData = null;
                while (true)
                {
                    var s = textReader.ReadLine();
                    if (s == null)
                    {
                        break;
                    }

                    s = s.Trim();
                    if (string.IsNullOrEmpty(s))
                    {
                        // New PageData
                        pageData = null;
                        continue;
                    }

                    if (pageData == null)
                    {
                        var texture = textureLoader(s);
                        if (texture == null)
                        {
                            throw new Exception(string.Format("Unable to resolve texture {0}", s));
                        }

                        pageData = new GDXPageData {
                            Texture = texture
                        };
                        continue;
                    }

                    if (!s.Contains(":"))
                    {
                        spriteData = new GDXSpriteData
                        {
                            PageData = pageData,
                            Name     = s
                        };

                        spriteDatas[s] = spriteData;
                        continue;
                    }

                    var parts = s.Split(':');

                    var key   = parts[0].Trim().ToLower();
                    var value = parts[1].Trim();

                    switch (key)
                    {
                    case "format":
                        SurfaceFormat format;
                        if (!Enum.TryParse(value, out format))
                        {
#if !XENKO
                            format = SurfaceFormat.Color;
#else
                            format = SurfaceFormat.R8G8B8A8_SNorm;
#endif
                        }

                        pageData.Format = format;
                        break;

                    case "filter":
                        parts = value.Split(',');
                        var minFilter = (GDXTextureFilter)Enum.Parse(typeof(GDXTextureFilter), parts[0].Trim());
                        var magFilter = (GDXTextureFilter)Enum.Parse(typeof(GDXTextureFilter), parts[1].Trim());

                        pageData.Filter = FromGDXFilters(minFilter, magFilter);
                        break;

                    case "repeat":
                        if (value == "x")
                        {
                            pageData.UWrap = TextureAddressMode.Wrap;
                        }
                        else if (value == "y")
                        {
                            pageData.VWrap = TextureAddressMode.Wrap;
                        }
                        else if (value == "xy")
                        {
                            pageData.UWrap = TextureAddressMode.Wrap;
                            pageData.VWrap = TextureAddressMode.Wrap;
                        }

                        break;

                    case "rotate":
                        bool isRotated;
                        bool.TryParse(value, out isRotated);
                        spriteData.IsRotated = isRotated;
                        break;

                    case "xy":
                        parts = value.Split(',');
                        spriteData.SourceRectangle.X = int.Parse(parts[0].Trim());
                        spriteData.SourceRectangle.Y = int.Parse(parts[1].Trim());

                        break;

                    case "size":
                        if (spriteData == null)
                        {
                            continue;
                        }

                        parts = value.Split(',');
                        spriteData.SourceRectangle.Width  = int.Parse(parts[0].Trim());
                        spriteData.SourceRectangle.Height = int.Parse(parts[1].Trim());

                        break;

                    case "orig":
                        parts = value.Split(',');
                        spriteData.OriginalSize = new Point(int.Parse(parts[0].Trim()), int.Parse(parts[1].Trim()));

                        break;

                    case "offset":
                        parts             = value.Split(',');
                        spriteData.Offset = new Point(int.Parse(parts[0].Trim()), int.Parse(parts[1].Trim()));
                        break;

                    case "split":
                        parts = value.Split(',');
                        var split = new Thickness
                        {
                            Left   = int.Parse(parts[0].Trim()),
                            Right  = int.Parse(parts[1].Trim()),
                            Top    = int.Parse(parts[2].Trim()),
                            Bottom = int.Parse(parts[3].Trim())
                        };

                        spriteData.Split = split;
                        break;
                    }
                }
            }

            var result  = new TextureRegionAtlas();
            var regions = result.Regions;
            foreach (var sd in spriteDatas)
            {
                var texture = sd.Value.PageData.Texture;
                var bounds  = sd.Value.SourceRectangle;

                TextureRegion IRenderable;
                if (!sd.Value.Split.HasValue)
                {
                    IRenderable = new TextureRegion(texture, bounds);
                }
                else
                {
                    IRenderable = new NinePatchRegion(texture, bounds, sd.Value.Split.Value);
                }

                regions[sd.Key] = IRenderable;
            }

            return(result);
        }
Example #30
0
 public TextureRegion newTextureRegion(TextureRegion texture, int width, int height)
 {
     return(new MonoGameTextureRegion(texture, width, height));
 }
Example #31
0
        public override void AddComponents()
        {
            base.AddComponents();

            Height = 24;

            AlwaysActive = true;

            if (FromBottom)
            {
                var level = Run.Level;
                var x     = (int)(X / 16);
                var y     = (int)((Y + 8) / 16);

                OriginalTile = level.Get(x, y);

                if (OriginalTile == Tile.Chasm)
                {
                    Done = true;
                    return;
                }

                if (!OriginalTile.IsWall())
                {
                    Z = -8;
                }

                Scale.X = 1;
                Scale.Y = 1;

                level.Set(x, y, Tile.Chasm);
                level.UpdateTile(x, y);
                level.ReCreateBodyChunk(x, y);

                Tween.To(MaxZ, Z, z => {
                    if (z > 8)
                    {
                        Depth = Layers.FlyingMob;
                    }

                    Z = z;
                }, 0.5f, Ease.QuadIn).OnEnd = () => {
                    Tween.To(Target.X, X, v => X = v, 1f, Ease.QuadInOut);
                    Tween.To(Target.Y, Y, v => Y = v, 1f, Ease.QuadInOut).OnEnd = () => {
                        x = (int)((Target.X + 8) / 16);
                        y = (int)((Target.Y + 8) / 16);

                        if (level.Get(x, y) != Tile.Chasm)
                        {
                            Top = TopTarget;
                        }
                        else
                        {
                            TargetZ = -8;
                            Tile    = OriginalTile;
                        }

                        AnimateFall();
                    };
                };
            }
            else
            {
                Z     = MaxZ;
                Depth = Layers.FlyingMob;

                Tween.To(1f, Scale.X, x => Scale.X = x, 0.4f);
                Tween.To(1f, Scale.Y, x => Scale.Y = x, 0.4f);

                AnimateFall();
            }

            AddComponent(new ShadowComponent(RenderShadow));
        }
Example #32
0
 public Frame(TextureRegion textureRegion, double duration)
 {
     textureRegion.ThrowIfNull(nameof(textureRegion));
     this.TextureRegion = textureRegion;
     Duration = duration;
 }