CnC_Remastered_Collection/CnCTDRAMapEditor/RedAlert/TerrainTypes.cs
PG-SteveT e37e174be1 C&C Remastered Map Editor
Initial commit of C&C Remastered Map Editor code
2020-09-10 11:12:58 -07:00

77 lines
8.2 KiB
C#

//
// Copyright 2020 Electronic Arts Inc.
//
// The Command & Conquer Map Editor and corresponding source code is free
// software: you can redistribute it and/or modify it under the terms of
// the GNU General Public License as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
// The Command & Conquer Map Editor and corresponding source code is distributed
// in the hope that it will be useful, but with permitted additional restrictions
// under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT
// distributed with this program. You should have received a copy of the
// GNU General Public License along with permitted additional restrictions
// with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
using MobiusEditor.Model;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace MobiusEditor.RedAlert
{
public class TerrainTypes
{
public static readonly TerrainType Tree1Class = new TerrainType(0, "t01", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree2Class = new TerrainType(1, "t02", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree3Class = new TerrainType(2, "t03", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree5Class = new TerrainType(3, "t05", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree6Class = new TerrainType(4, "t06", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree7Class = new TerrainType(5, "t07", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree8Class = new TerrainType(6, "t08", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Tree10Class = new TerrainType(7, "t10", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, true } });
public static readonly TerrainType Tree11Class = new TerrainType(8, "t11", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, true } });
public static readonly TerrainType Tree12Class = new TerrainType(9, "t12", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree13Class = new TerrainType(10, "t13", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree14Class = new TerrainType(11, "t14", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, true } });
public static readonly TerrainType Tree15Class = new TerrainType(12, "t15", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, true } });
public static readonly TerrainType Tree16Class = new TerrainType(13, "t16", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Tree17Class = new TerrainType(14, "t17", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 2] { { false, false }, { true, false } });
public static readonly TerrainType Clump1Class = new TerrainType(15, "tc01", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 3] { { false, false, false }, { true, true, false } });
public static readonly TerrainType Clump2Class = new TerrainType(16, "tc02", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 3] { { false, true, false }, { true, true, false } });
public static readonly TerrainType Clump3Class = new TerrainType(17, "tc03", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[2, 3] { { true, true, false }, { true, true, false } });
public static readonly TerrainType Clump4Class = new TerrainType(18, "tc04", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[3, 4] { { false, false, false, false }, { true, true, true, false }, { true, false, false, false } });
public static readonly TerrainType Clump5Class = new TerrainType(19, "tc05", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[3, 4] { { false, false, true, false }, { true, true, true, false }, { false, true, true, false } });
public static readonly TerrainType Ice01 = new TerrainType(20, "ice01", new TheaterType[] { TheaterTypes.Snow }, new bool[2, 2] { { true, true }, { true, true } }, TemplateTypeFlag.Water);
public static readonly TerrainType Ice02 = new TerrainType(21, "ice02", new TheaterType[] { TheaterTypes.Snow }, new bool[2, 2] { { true, false }, { true, false } }, TemplateTypeFlag.Water);
public static readonly TerrainType Ice03 = new TerrainType(22, "ice03", new TheaterType[] { TheaterTypes.Snow }, new bool[1, 2] { { true, true } }, TemplateTypeFlag.Water);
public static readonly TerrainType Ice04 = new TerrainType(23, "ice04", new TheaterType[] { TheaterTypes.Snow }, new bool[1, 2] { { true, false } }, TemplateTypeFlag.Water);
public static readonly TerrainType Ice05 = new TerrainType(24, "ice05", new TheaterType[] { TheaterTypes.Snow }, new bool[1, 2] { { true, false } }, TemplateTypeFlag.Water);
public static readonly TerrainType Boxes01 = new TerrainType(25, "boxes01", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes02 = new TerrainType(26, "boxes02", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes03 = new TerrainType(27, "boxes03", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes04 = new TerrainType(28, "boxes04", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes05 = new TerrainType(29, "boxes05", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes06 = new TerrainType(30, "boxes06", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes07 = new TerrainType(31, "boxes07", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes08 = new TerrainType(32, "boxes08", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Boxes09 = new TerrainType(33, "boxes09", new TheaterType[] { TheaterTypes.Interior }, new bool[1, 2] { { true, false } });
public static readonly TerrainType Mine = new TerrainType(34, "mine", new TheaterType[] { TheaterTypes.Temperate, TheaterTypes.Snow }, new bool[1, 2] { { true, false } }, TemplateTypeFlag.OreMine);
private static TerrainType[] Types;
static TerrainTypes()
{
Types =
(from field in typeof(TerrainTypes).GetFields(BindingFlags.Static | BindingFlags.Public)
where field.IsInitOnly && typeof(TerrainType).IsAssignableFrom(field.FieldType)
select field.GetValue(null) as TerrainType).ToArray();
}
public static IEnumerable<TerrainType> GetTypes()
{
return Types;
}
}
}