From ae9a3075a915c2dc32d6e4623b25d2918667d6ae Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 16 Jul 2014 11:34:11 +1200 Subject: [PATCH] Add a logic class for faction-specific backgrounds. --- OpenRA.Mods.RA/OpenRA.Mods.RA.csproj | 1 + .../Logic/Ingame/AddRaceSuffixLogic.cs | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 OpenRA.Mods.RA/Widgets/Logic/Ingame/AddRaceSuffixLogic.cs diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index f440308453..e1fefcecba 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -539,6 +539,7 @@ + diff --git a/OpenRA.Mods.RA/Widgets/Logic/Ingame/AddRaceSuffixLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/Ingame/AddRaceSuffixLogic.cs new file mode 100644 index 0000000000..6f0ae48745 --- /dev/null +++ b/OpenRA.Mods.RA/Widgets/Logic/Ingame/AddRaceSuffixLogic.cs @@ -0,0 +1,30 @@ +#region Copyright & License Information +/* + * Copyright 2007-2014 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation. For more information, + * see COPYING. + */ +#endregion + +using System; +using OpenRA.Widgets; + +namespace OpenRA.Mods.RA.Widgets.Logic +{ + public class AddRaceSuffixLogic + { + [ObjectCreator.UseCtor] + public AddRaceSuffixLogic(Widget widget, World world) + { + var suffix = "-" + world.LocalPlayer.Country.Race; + if (widget is ButtonWidget) + ((ButtonWidget)widget).Background += suffix; + else if (widget is ImageWidget) + ((ImageWidget)widget).ImageCollection += suffix; + else + throw new InvalidOperationException("AddRaceSuffixLogic only supports ButtonWidget and ImageWidget"); + } + } +}