Merge pull request #8760 from atlimit8/RangeMultiplier

Added [I]RangeMultiplier & made UpgradeMultiplierTraitInfo implement ITraitInfo
This commit is contained in:
RoosterDragon
2015-09-26 16:24:17 +01:00
25 changed files with 124 additions and 42 deletions

View File

@@ -12,6 +12,7 @@ using System.Collections.Generic;
using System.Linq;
using OpenRA.GameRules;
using OpenRA.Graphics;
using OpenRA.Traits;
namespace OpenRA
{
@@ -41,6 +42,10 @@ namespace OpenRA
Music = new ReadOnlyDictionary<string, MusicInfo>(music);
TileSets = new ReadOnlyDictionary<string, TileSet>(tileSets);
Sequences = new ReadOnlyDictionary<string, SequenceProvider>(sequences);
foreach (var a in Actors.Values)
foreach (var t in a.TraitInfos<IRulesetLoaded>())
t.RulesetLoaded(this, a);
}
public IEnumerable<KeyValuePair<string, MusicInfo>> InstalledMusic { get { return Music.Where(m => m.Value.Exists); } }

View File

@@ -21,6 +21,7 @@ namespace OpenRA.GameRules
public WeaponInfo Weapon;
public int[] DamageModifiers;
public int[] InaccuracyModifiers;
public int[] RangeModifiers;
public int Facing;
public WPos Source;
public Actor SourceActor;

View File

@@ -218,6 +218,8 @@ namespace OpenRA.Traits
public interface IFirepowerModifier { int GetFirepowerModifier(); }
public interface IReloadModifier { int GetReloadModifier(); }
public interface IInaccuracyModifier { int GetInaccuracyModifier(); }
public interface IRangeModifier { int GetRangeModifier(); }
public interface IRangeModifierInfo : ITraitInfo { int GetRangeModifierDefault(); }
public interface IPowerModifier { int GetPowerModifier(); }
public interface ILoadsPalettes { void LoadPalettes(WorldRenderer wr); }
public interface ILoadsPlayerPalettes { void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor playerColor, bool replaceExisting); }
@@ -368,4 +370,6 @@ namespace OpenRA.Traits
{
bool RemoveActor(Actor self, Player owner);
}
public interface IRulesetLoaded : ITraitInfo { void RulesetLoaded(Ruleset rules, ActorInfo ai); }
}