diff --git a/OpenRa.TechTreeTest/Building.cs b/OpenRa.TechTreeTest/Building.cs index 6347c72f8e..a098dc65e3 100644 --- a/OpenRa.TechTreeTest/Building.cs +++ b/OpenRa.TechTreeTest/Building.cs @@ -7,6 +7,13 @@ using System.IO; namespace OpenRa.TechTreeTest { + [Flags] + public enum BuildingRace + { + Allies = 1, + Soviet = 2 + } + class Building { readonly string friendlyName; @@ -38,6 +45,14 @@ namespace OpenRa.TechTreeTest set { techLevel = value; } } + BuildingRace owner; + + public BuildingRace Owner + { + get { return owner; } + set { owner = value; } + } + public Building(string tag, string friendlyName) { this.friendlyName = friendlyName; diff --git a/OpenRa.TechTreeTest/Form1.cs b/OpenRa.TechTreeTest/Form1.cs index 0523acd53f..8f06ad6a2b 100644 --- a/OpenRa.TechTreeTest/Form1.cs +++ b/OpenRa.TechTreeTest/Form1.cs @@ -28,7 +28,7 @@ namespace OpenRa.TechTreeTest box.SizeMode = PictureBoxSizeMode.AutoSize; box.Image = b.Icon; - toolTip1.SetToolTip(box, b.Tag); + toolTip1.SetToolTip(box, b.Tag + "\n" + b.Owner.ToString()); buildableItems.Controls.Add(box); diff --git a/OpenRa.TechTreeTest/TechTree.cs b/OpenRa.TechTreeTest/TechTree.cs index b310f58a03..8f1c430109 100644 --- a/OpenRa.TechTreeTest/TechTree.cs +++ b/OpenRa.TechTreeTest/TechTree.cs @@ -31,6 +31,17 @@ namespace OpenRa.TechTreeTest string s = section.GetValue("Prerequisite", "").ToUpper(); b.Prerequisites = s.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); b.TechLevel = int.Parse(section.GetValue("TechLevel", "-1")); + s = section.GetValue("Owner", "allies"); + if (string.IsNullOrEmpty(s)) continue; + string[] frags = s.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + if (frags.Length > 1) + { + b.Owner = BuildingRace.Allies | BuildingRace.Soviet; + } + else + { + b.Owner = (BuildingRace)Enum.Parse(typeof(BuildingRace), frags[0], true); + } } }