From a8ea8d624a30be397f15ca824814a8cd6cf410ed Mon Sep 17 00:00:00 2001 From: chrisf Date: Sat, 7 Jul 2007 06:22:10 +0000 Subject: [PATCH] git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1133 993157c7-ee19-0410-b2c4-bb4e9862e678 --- OpenRa.TechTreeTest/Building.cs | 9 +++++++++ OpenRa.TechTreeTest/TechTree.cs | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/OpenRa.TechTreeTest/Building.cs b/OpenRa.TechTreeTest/Building.cs index d11b8882d5..6347c72f8e 100644 --- a/OpenRa.TechTreeTest/Building.cs +++ b/OpenRa.TechTreeTest/Building.cs @@ -46,6 +46,12 @@ namespace OpenRa.TechTreeTest public bool ShouldMakeBuildable(IEnumerable buildings) { + if (techLevel > 10 || techLevel < 0) + return false; + + if (prerequisites.Length == 0) + return true; + List p = new List(prerequisites); foreach (string b in buildings) p.Remove(b); @@ -55,6 +61,9 @@ namespace OpenRa.TechTreeTest public bool ShouldMakeUnbuildable(IEnumerable buildings) { + if (prerequisites.Length == 0) + return false; + List p = new List(prerequisites); foreach (string b in buildings) p.Remove(b); diff --git a/OpenRa.TechTreeTest/TechTree.cs b/OpenRa.TechTreeTest/TechTree.cs index 92c9c0100e..b310f58a03 100644 --- a/OpenRa.TechTreeTest/TechTree.cs +++ b/OpenRa.TechTreeTest/TechTree.cs @@ -29,7 +29,7 @@ namespace OpenRa.TechTreeTest IniSection section = rulesFile.GetSection(key); Building b = buildings[key]; string s = section.GetValue("Prerequisite", "").ToUpper(); - b.Prerequisites = s.Split(','); + b.Prerequisites = s.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); b.TechLevel = int.Parse(section.GetValue("TechLevel", "-1")); } }