Exemple #1
0
        public static Rectangle GetSpriteRectangle(UnitType unittype, GameData.Owner owner = GameData.Owner.Red)
        {
            int x = ((int)unittype - 1) * 48;
            int y = ((int)owner - 1) * 48;

            return(new Rectangle(x, y, 48, 48));
        }
        public static Rectangle GetSpriteRectangle(UnitType ut, GameData.Owner o, TerrainType t)
        {
            StringBuilder spritename = new StringBuilder();

            if (o == GameData.Owner.None)
            {
                spritename.Append("Red");
            }
            else
            {
                spritename.Append(o.ToString());
            }

            spritename.Append("_");

            spritename.Append(ut.ToString());

            if (ut == UnitType.Soldier ||
                ut == UnitType.Mech)
            {
                if (t == TerrainType.River)
                {
                    spritename.Append("_River");
                }
                if (t == TerrainType.Mountain)
                {
                    spritename.Append("_Mountain");
                }
            }

            return(BackgroundUnitSprite[spritename.ToString().ToEnum <SpriteSheetBackgroundUnit>()]);
        }
            public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
            {
                UnitType unittype = UnitType.None;

                GameData.Owner owner       = GameData.Owner.None;
                int            hp          = 0;
                Guid           guid        = Guid.Empty;
                bool           gotUnittype = false;
                bool           gotGuid     = false;
                bool           gotOwner    = false;
                bool           gotHp       = false;

                while (reader.Read())
                {
                    if (reader.TokenType != JsonToken.PropertyName)
                    {
                        break;
                    }

                    string propertyName = (string)reader.Value;
                    if (!reader.Read())
                    {
                        continue;
                    }
                    switch (propertyName)
                    {
                    case "UnitType":
                        unittype    = (serializer.Deserialize <string>(reader)).ToEnum <UnitType>();
                        gotUnittype = true;
                        break;

                    case "Owner":
                        owner    = (serializer.Deserialize <string>(reader)).ToEnum <GameData.Owner>();
                        gotOwner = true;
                        break;

                    case "HP":
                        hp    = serializer.Deserialize <int>(reader);
                        gotHp = true;
                        break;

                    case "guid":
                        guid    = serializer.Deserialize <Guid>(reader);
                        gotGuid = true;
                        //CONTENT_MANAGER.ShowMessageBox(guid.ToString());
                        break;

                    default:
                        break;
                    }
                }

                if (!(gotUnittype && gotHp && gotOwner && gotGuid))
                {
                    //throw new InvalidDataException("Not enought data");
                    return(null);
                }

                return(UnitCreationHelper.Create(unittype, owner, hp, AnimationName.idle, guid));
            }
        public static void LoadSprite()
        {
            SelectedMapCellCapturePointSprite = new Dictionary <GameData.Owner, Rectangle>();

            GameData.Owner c = GameData.Owner.Red;

            for (int x = 0; x < 4; x++)
            {
                SelectedMapCellCapturePointSprite.Add(c, new Rectangle(x * 49, 0, 49, 20));
                c = c.Next();
            }
        }
        public static void LoadSprite()
        {
            SelectedMapCellLoadedUnitSprite = new Dictionary <GameData.Owner, Rectangle>();

            GameData.Owner c = GameData.Owner.Red;

            for (int x = 0; x < 4; x++)
            {
                SelectedMapCellLoadedUnitSprite.Add(c, new Rectangle(x * 39, 0, 39, 21));
                c = c.Next();
            }
        }
        public static void LoadSprite()
        {
            SelectedMapCellBorderSprite = new Dictionary <GameData.Owner, Rectangle>();

            GameData.Owner c = GameData.Owner.None;

            for (int x = 0; x < 5; x++)
            {
                SelectedMapCellBorderSprite.Add(c, new Rectangle(x * 144, 0, 144, 116));
                c = c.Next();
            }
        }
        public static void LoadSprite()
        {
            SelectedMapCellUnitInfoSprite = new Dictionary <GameData.Owner, Rectangle>();

            GameData.Owner c = GameData.Owner.Red;

            for (int x = 0; x < 4; x++)
            {
                SelectedMapCellUnitInfoSprite.Add(c, new Rectangle(x * 132, 0, 132, 25));
                c = c.Next();
            }
        }
Exemple #8
0
        public static Rectangle GetSprite(int cmdcount, GameData.Owner color)
        {
            SpriteSheetCommandSlot result = SpriteSheetCommandSlot.oneslotblue;

            if (color == GameData.Owner.Red)
            {
                switch (cmdcount)
                {
                case 1:
                    result = SpriteSheetCommandSlot.oneslotblue;
                    break;

                case 2:
                    result = SpriteSheetCommandSlot.twoslotblue;
                    break;

                case 3:
                    result = SpriteSheetCommandSlot.threeslotblue;
                    break;

                default:
                    break;
                }
            }
            if (color == GameData.Owner.Blue)
            {
                switch (cmdcount)
                {
                case 1:
                    result = SpriteSheetCommandSlot.oneslotred;
                    break;

                case 2:
                    result = SpriteSheetCommandSlot.twoslotred;
                    break;

                case 3:
                    result = SpriteSheetCommandSlot.threeslotred;
                    break;

                default:
                    break;
                }
            }

            return(CommandSlotSprite[result]);
        }
Exemple #9
0
        public static Rectangle GetSpriteRectangle(BuildingType bt, GameData.Owner owner = GameData.Owner.None)
        {
            StringBuilder result = new StringBuilder();

            switch (owner)
            {
            case GameData.Owner.None:
                break;

            case GameData.Owner.Red:
            case GameData.Owner.Blue:
            case GameData.Owner.Green:
            case GameData.Owner.Yellow:
                result.Append(owner.ToString());
                result.Append("_");
                break;

            default:
                break;
            }
            result.Append(bt.ToString());

            return(BuildingSprite[result.ToString().ToEnum <SpriteSheetBuilding>()]);
        }
        public static Rectangle GetSpriteRectangle(TerrainType t, Weather w, Theme th, UnitType ut, GameData.Owner o = GameData.Owner.None)
        {
            StringBuilder spritename = new StringBuilder();

            switch (w)
            {
            case Weather.Sunny:
                switch (th)
                {
                case Theme.Tropical:
                case Theme.Desert:
                    spritename.Append(th.ToString());
                    spritename.Append("_");
                    break;

                default:
                    break;
                }
                break;

            case Weather.Rain:
            case Weather.Snow:
                spritename.Append(w.ToString());
                spritename.Append("_");
                break;

            default:
                break;
            }

            if (t == TerrainType.HQ && o != Owner.None)
            {
                spritename.Append(o.ToString());
                spritename.Append("_");
            }

            if (ut == UnitType.TransportCopter ||
                ut == UnitType.BattleCopter ||
                ut == UnitType.Fighter ||
                ut == UnitType.Bomber)
            {
                spritename.Append("Sky");
                goto end;
            }

            if (ut == UnitType.Lander ||
                ut == UnitType.Cruiser ||
                ut == UnitType.Submarine ||
                ut == UnitType.Battleship)
            {
                spritename.Append("Sea");
                goto end;
            }

            if (t == TerrainType.MissileSiloLaunched)
            {
                spritename.Append(TerrainType.MissileSilo.ToString());
                goto end;
            }

            spritename.Append(t.ToString());

end:
            return(BackgroundTerrainSprite[spritename.ToString().ToEnum <SpriteSheetBackgroundTerrain>()]);
        }
 public static Rectangle GetSpriteRectangle(GameData.Owner t)
 {
     return(SelectedMapCellCapturePointSprite[t]);
 }
 public static Rectangle GetSpriteRectangle(GameData.Owner t)
 {
     return(SelectedMapCellBorderSprite[t]);
 }
 public static Rectangle GetSpriteRectangle(GameData.Owner t)
 {
     return(SelectedMapCellLoadedUnitSprite[t]);
 }