diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj index ccab2ed6e6..ed6428e559 100644 --- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj +++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj @@ -70,18 +70,18 @@ - - - - - + + + + + + + + + + - - - - - diff --git a/OpenRA.Mods.Cnc/ProductionAirdrop.cs b/OpenRA.Mods.Cnc/Traits/Buildings/ProductionAirdrop.cs similarity index 97% rename from OpenRA.Mods.Cnc/ProductionAirdrop.cs rename to OpenRA.Mods.Cnc/Traits/Buildings/ProductionAirdrop.cs index c72b0e2205..e356840124 100644 --- a/OpenRA.Mods.Cnc/ProductionAirdrop.cs +++ b/OpenRA.Mods.Cnc/Traits/Buildings/ProductionAirdrop.cs @@ -11,11 +11,11 @@ using System.Linq; using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { [Desc("Deliver the unit in production via skylift.")] public class ProductionAirdropInfo : ProductionInfo diff --git a/OpenRA.Mods.Cnc/TiberiumRefinery.cs b/OpenRA.Mods.Cnc/Traits/Buildings/TiberiumRefinery.cs similarity index 96% rename from OpenRA.Mods.Cnc/TiberiumRefinery.cs rename to OpenRA.Mods.Cnc/Traits/Buildings/TiberiumRefinery.cs index e20b69d410..bb8c982c57 100644 --- a/OpenRA.Mods.Cnc/TiberiumRefinery.cs +++ b/OpenRA.Mods.Cnc/Traits/Buildings/TiberiumRefinery.cs @@ -11,7 +11,7 @@ using OpenRA.Mods.RA; using OpenRA.Traits; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { public class TiberiumRefineryInfo : OreRefineryInfo { diff --git a/OpenRA.Mods.Cnc/PoisonedByTiberium.cs b/OpenRA.Mods.Cnc/Traits/PoisonedByTiberium.cs similarity index 97% rename from OpenRA.Mods.Cnc/PoisonedByTiberium.cs rename to OpenRA.Mods.Cnc/Traits/PoisonedByTiberium.cs index 1925498054..84c32b65f6 100644 --- a/OpenRA.Mods.Cnc/PoisonedByTiberium.cs +++ b/OpenRA.Mods.Cnc/Traits/PoisonedByTiberium.cs @@ -13,7 +13,7 @@ using OpenRA.Traits; using OpenRA.Mods.RA; using OpenRA.GameRules; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { class PoisonedByTiberiumInfo : ITraitInfo { diff --git a/OpenRA.Mods.Cnc/Render/RenderGunboat.cs b/OpenRA.Mods.Cnc/Traits/Render/RenderGunboat.cs similarity index 100% rename from OpenRA.Mods.Cnc/Render/RenderGunboat.cs rename to OpenRA.Mods.Cnc/Traits/Render/RenderGunboat.cs diff --git a/OpenRA.Mods.Cnc/Render/WithCargo.cs b/OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs similarity index 98% rename from OpenRA.Mods.Cnc/Render/WithCargo.cs rename to OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs index 1604b517f3..548b01b750 100644 --- a/OpenRA.Mods.Cnc/Render/WithCargo.cs +++ b/OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs @@ -15,7 +15,7 @@ using OpenRA.Graphics; using OpenRA.Mods.RA; using OpenRA.Traits; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { [Desc("Renders the cargo loaded into the unit.")] public class WithCargoInfo : ITraitInfo, Requires, Requires diff --git a/OpenRA.Mods.Cnc/Render/WithDeliveryAnimation.cs b/OpenRA.Mods.Cnc/Traits/Render/WithDeliveryAnimation.cs similarity index 100% rename from OpenRA.Mods.Cnc/Render/WithDeliveryAnimation.cs rename to OpenRA.Mods.Cnc/Traits/Render/WithDeliveryAnimation.cs diff --git a/OpenRA.Mods.Cnc/Render/WithFire.cs b/OpenRA.Mods.Cnc/Traits/Render/WithFire.cs similarity index 97% rename from OpenRA.Mods.Cnc/Render/WithFire.cs rename to OpenRA.Mods.Cnc/Traits/Render/WithFire.cs index 9c97d9526e..2bb049a80f 100644 --- a/OpenRA.Mods.Cnc/Render/WithFire.cs +++ b/OpenRA.Mods.Cnc/Traits/Render/WithFire.cs @@ -12,7 +12,7 @@ using OpenRA.Graphics; using OpenRA.Mods.Common.Traits.Render; using OpenRA.Traits; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { [Desc("Renders a flame sprite on top of the actor.")] class WithFireInfo : ITraitInfo, Requires diff --git a/OpenRA.Mods.Cnc/Render/WithRoof.cs b/OpenRA.Mods.Cnc/Traits/Render/WithRoof.cs similarity index 96% rename from OpenRA.Mods.Cnc/Render/WithRoof.cs rename to OpenRA.Mods.Cnc/Traits/Render/WithRoof.cs index 134d79016d..672e1bc317 100644 --- a/OpenRA.Mods.Cnc/Render/WithRoof.cs +++ b/OpenRA.Mods.Cnc/Traits/Render/WithRoof.cs @@ -12,7 +12,7 @@ using OpenRA.Graphics; using OpenRA.Mods.Common.Traits.Render; using OpenRA.Traits; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { [Desc("Provides an overlay for the Tiberian Dawn hover craft.")] public class WithRoofInfo : ITraitInfo, Requires diff --git a/OpenRA.Mods.Cnc/SpawnViceroid.cs b/OpenRA.Mods.Cnc/Traits/SpawnViceroid.cs similarity index 97% rename from OpenRA.Mods.Cnc/SpawnViceroid.cs rename to OpenRA.Mods.Cnc/Traits/SpawnViceroid.cs index eef1e03700..3c2e252c6a 100644 --- a/OpenRA.Mods.Cnc/SpawnViceroid.cs +++ b/OpenRA.Mods.Cnc/Traits/SpawnViceroid.cs @@ -12,7 +12,7 @@ using System.Linq; using OpenRA.Primitives; using OpenRA.Traits; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { class SpawnViceroidInfo : ITraitInfo { diff --git a/OpenRA.Mods.Cnc/IonCannonPower.cs b/OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs similarity index 98% rename from OpenRA.Mods.Cnc/IonCannonPower.cs rename to OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs index 99da3beead..678c1037a7 100644 --- a/OpenRA.Mods.Cnc/IonCannonPower.cs +++ b/OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs @@ -14,7 +14,7 @@ using OpenRA.Mods.RA.Activities; using OpenRA.Primitives; using OpenRA.Traits; -namespace OpenRA.Mods.Cnc +namespace OpenRA.Mods.Cnc.Traits { class IonCannonPowerInfo : SupportPowerInfo { diff --git a/OpenRA.Mods.Common/Effects/NukeLaunch.cs b/OpenRA.Mods.Common/Effects/NukeLaunch.cs index 8c0eebc7ba..8f0ef74060 100644 --- a/OpenRA.Mods.Common/Effects/NukeLaunch.cs +++ b/OpenRA.Mods.Common/Effects/NukeLaunch.cs @@ -13,6 +13,7 @@ using System.Linq; using OpenRA.Effects; using OpenRA.GameRules; using OpenRA.Graphics; +using OpenRA.Mods.Common.Traits; using OpenRA.Traits; namespace OpenRA.Mods.Common.Effects diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index 1117b04de5..354671b53c 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -79,40 +79,40 @@ - - - - - - - - - + - - - + + + + + + + + + + + diff --git a/OpenRA.Mods.Common/Modifiers/DisabledOverlay.cs b/OpenRA.Mods.Common/Traits/Modifiers/DisabledOverlay.cs similarity index 96% rename from OpenRA.Mods.Common/Modifiers/DisabledOverlay.cs rename to OpenRA.Mods.Common/Traits/Modifiers/DisabledOverlay.cs index 2036ed3b13..a622cefbd2 100644 --- a/OpenRA.Mods.Common/Modifiers/DisabledOverlay.cs +++ b/OpenRA.Mods.Common/Traits/Modifiers/DisabledOverlay.cs @@ -12,7 +12,7 @@ using System.Collections.Generic; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { [Desc("Use together with CanPowerDown/RequiresPower on buildings or Husk for vehicles.")] public class DisabledOverlayInfo : TraitInfo { } diff --git a/OpenRA.Mods.Common/Modifiers/HiddenUnderFog.cs b/OpenRA.Mods.Common/Traits/Modifiers/HiddenUnderFog.cs similarity index 96% rename from OpenRA.Mods.Common/Modifiers/HiddenUnderFog.cs rename to OpenRA.Mods.Common/Traits/Modifiers/HiddenUnderFog.cs index 94915d7935..4f928b148a 100644 --- a/OpenRA.Mods.Common/Modifiers/HiddenUnderFog.cs +++ b/OpenRA.Mods.Common/Traits/Modifiers/HiddenUnderFog.cs @@ -13,7 +13,7 @@ using System.Linq; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { [Desc("The actor stays invisible under fog of war.")] public class HiddenUnderFogInfo : TraitInfo { } diff --git a/OpenRA.Mods.Common/Modifiers/UpgradeOverlay.cs b/OpenRA.Mods.Common/Traits/Modifiers/UpgradeOverlay.cs similarity index 97% rename from OpenRA.Mods.Common/Modifiers/UpgradeOverlay.cs rename to OpenRA.Mods.Common/Traits/Modifiers/UpgradeOverlay.cs index 3801461cfa..abefe185b8 100644 --- a/OpenRA.Mods.Common/Modifiers/UpgradeOverlay.cs +++ b/OpenRA.Mods.Common/Traits/Modifiers/UpgradeOverlay.cs @@ -12,7 +12,7 @@ using System.Collections.Generic; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { [Desc("Display a colored overlay when a timed upgrade is active.")] public class UpgradeOverlayInfo : ITraitInfo diff --git a/OpenRA.Mods.Common/PaletteEffects/CloakPaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs similarity index 96% rename from OpenRA.Mods.Common/PaletteEffects/CloakPaletteEffect.cs rename to OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs index fafa707da9..cee5e6b95a 100644 --- a/OpenRA.Mods.Common/PaletteEffects/CloakPaletteEffect.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs @@ -13,7 +13,7 @@ using System.Drawing; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { public class CloakPaletteEffectInfo : TraitInfo { } diff --git a/OpenRA.Mods.Common/PaletteEffects/LightPaletteRotator.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/LightPaletteRotator.cs similarity index 97% rename from OpenRA.Mods.Common/PaletteEffects/LightPaletteRotator.cs rename to OpenRA.Mods.Common/Traits/PaletteEffects/LightPaletteRotator.cs index 4adc6c6833..6eda0e0366 100644 --- a/OpenRA.Mods.Common/PaletteEffects/LightPaletteRotator.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/LightPaletteRotator.cs @@ -13,7 +13,7 @@ using System.Linq; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { [Desc("Palette effect used for blinking \"animations\" on actors.")] class LightPaletteRotatorInfo : ITraitInfo diff --git a/OpenRA.Mods.Common/PaletteEffects/MenuPaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/MenuPaletteEffect.cs similarity index 98% rename from OpenRA.Mods.Common/PaletteEffects/MenuPaletteEffect.cs rename to OpenRA.Mods.Common/Traits/PaletteEffects/MenuPaletteEffect.cs index 7469df6ca1..1f3924d79f 100644 --- a/OpenRA.Mods.Common/PaletteEffects/MenuPaletteEffect.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/MenuPaletteEffect.cs @@ -13,7 +13,7 @@ using System.Drawing; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { [Desc("Fades the world from/to black at the start/end of the game, and can (optionally) desaturate the world")] public class MenuPaletteEffectInfo : ITraitInfo diff --git a/OpenRA.Mods.Common/PaletteEffects/NukePaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/NukePaletteEffect.cs similarity index 97% rename from OpenRA.Mods.Common/PaletteEffects/NukePaletteEffect.cs rename to OpenRA.Mods.Common/Traits/PaletteEffects/NukePaletteEffect.cs index e11c49afca..e30f476fa7 100644 --- a/OpenRA.Mods.Common/PaletteEffects/NukePaletteEffect.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/NukePaletteEffect.cs @@ -13,7 +13,7 @@ using System.Drawing; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { [Desc("Apply palette full screen rotations during atom bomb explosions. Add this to the world actor.")] class NukePaletteEffectInfo : TraitInfo { } diff --git a/OpenRA.Mods.Common/PaletteEffects/WaterPaletteRotation.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/WaterPaletteRotation.cs similarity index 97% rename from OpenRA.Mods.Common/PaletteEffects/WaterPaletteRotation.cs rename to OpenRA.Mods.Common/Traits/PaletteEffects/WaterPaletteRotation.cs index 31ca1ed226..5187e09e23 100644 --- a/OpenRA.Mods.Common/PaletteEffects/WaterPaletteRotation.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/WaterPaletteRotation.cs @@ -13,7 +13,7 @@ using System.Linq; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.Common +namespace OpenRA.Mods.Common.Traits { [Desc("Palette effect used for sprinkle \"animations\" on terrain tiles.")] class WaterPaletteRotationInfo : ITraitInfo diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj index 2da8f3cf31..5530059d4a 100644 --- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj +++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj @@ -68,24 +68,24 @@ - - - - - - - + + + + + + + + + + + + - - - - - diff --git a/OpenRA.Mods.D2k/DamagedWithoutFoundation.cs b/OpenRA.Mods.D2k/Traits/Buildings/DamagedWithoutFoundation.cs similarity index 98% rename from OpenRA.Mods.D2k/DamagedWithoutFoundation.cs rename to OpenRA.Mods.D2k/Traits/Buildings/DamagedWithoutFoundation.cs index 471280179c..58f7a0e2fb 100644 --- a/OpenRA.Mods.D2k/DamagedWithoutFoundation.cs +++ b/OpenRA.Mods.D2k/Traits/Buildings/DamagedWithoutFoundation.cs @@ -12,7 +12,7 @@ using System.Linq; using OpenRA.GameRules; using OpenRA.Traits; -namespace OpenRA.Mods.D2k +namespace OpenRA.Mods.D2k.Traits { [Desc("Reduces health points over time when the actor is placed on unsafe terrain.")] class DamagedWithoutFoundationInfo : ITraitInfo, Requires diff --git a/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlay.cs b/OpenRA.Mods.D2k/Traits/Render/WithBuildingPlacedOverlay.cs similarity index 98% rename from OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlay.cs rename to OpenRA.Mods.D2k/Traits/Render/WithBuildingPlacedOverlay.cs index 54bf93bfb1..0c51d31c06 100644 --- a/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlay.cs +++ b/OpenRA.Mods.D2k/Traits/Render/WithBuildingPlacedOverlay.cs @@ -13,7 +13,7 @@ using OpenRA.Mods.Common.Traits.Render; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; -namespace OpenRA.Mods.D2k.Render +namespace OpenRA.Mods.D2k.Traits { [Desc("Rendered when the actor constructed a building.")] public class WithBuildingPlacedOverlayInfo : ITraitInfo, Requires, Requires diff --git a/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs b/OpenRA.Mods.D2k/Traits/Render/WithCrumbleOverlay.cs similarity index 98% rename from OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs rename to OpenRA.Mods.D2k/Traits/Render/WithCrumbleOverlay.cs index c270d3d9be..ce49224c9e 100644 --- a/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs +++ b/OpenRA.Mods.D2k/Traits/Render/WithCrumbleOverlay.cs @@ -14,7 +14,7 @@ using OpenRA.Mods.Common.Traits.Render; using OpenRA.Mods.RA; using OpenRA.Traits; -namespace OpenRA.Mods.D2k.Render +namespace OpenRA.Mods.D2k.Traits { [Desc("Rendered together with the \"make\" animation.")] public class WithCrumbleOverlayInfo : ITraitInfo, Requires diff --git a/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs b/OpenRA.Mods.D2k/Traits/Render/WithDeliveryOverlay.cs similarity index 98% rename from OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs rename to OpenRA.Mods.D2k/Traits/Render/WithDeliveryOverlay.cs index 332daad28d..03c20f070d 100644 --- a/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs +++ b/OpenRA.Mods.D2k/Traits/Render/WithDeliveryOverlay.cs @@ -14,7 +14,7 @@ using OpenRA.Mods.Common.Traits.Render; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; -namespace OpenRA.Mods.D2k.Render +namespace OpenRA.Mods.D2k.Traits { [Desc("Rendered when ProductionAirdrop is in progress.")] public class WithDeliveryOverlayInfo : ITraitInfo, Requires, Requires diff --git a/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs b/OpenRA.Mods.D2k/Traits/Render/WithDockingOverlay.cs similarity index 98% rename from OpenRA.Mods.D2k/Render/WithDockingOverlay.cs rename to OpenRA.Mods.D2k/Traits/Render/WithDockingOverlay.cs index 9d467a03fe..a8a8a291b6 100644 --- a/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs +++ b/OpenRA.Mods.D2k/Traits/Render/WithDockingOverlay.cs @@ -14,7 +14,7 @@ using OpenRA.Mods.Common.Traits.Render; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; -namespace OpenRA.Mods.D2k.Render +namespace OpenRA.Mods.D2k.Traits { [Desc("Rendered when a harvester is docked.")] public class WithDockingOverlayInfo : ITraitInfo, Requires, Requires diff --git a/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs b/OpenRA.Mods.D2k/Traits/Render/WithProductionOverlay.cs similarity index 99% rename from OpenRA.Mods.D2k/Render/WithProductionOverlay.cs rename to OpenRA.Mods.D2k/Traits/Render/WithProductionOverlay.cs index a6e4a3761e..33ec45444e 100644 --- a/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs +++ b/OpenRA.Mods.D2k/Traits/Render/WithProductionOverlay.cs @@ -16,7 +16,7 @@ using OpenRA.Mods.RA; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; -namespace OpenRA.Mods.D2k.Render +namespace OpenRA.Mods.D2k.Traits { [Desc("Renders an animation when the Production trait of the actor is activated.", "Works both with per player ClassicProductionQueue and per building ProductionQueue, but needs any of these.")] diff --git a/OpenRA.Mods.D2k/ThrowsShrapnel.cs b/OpenRA.Mods.D2k/Traits/ThrowsShrapnel.cs similarity index 98% rename from OpenRA.Mods.D2k/ThrowsShrapnel.cs rename to OpenRA.Mods.D2k/Traits/ThrowsShrapnel.cs index 624089e8c3..14aabae722 100644 --- a/OpenRA.Mods.D2k/ThrowsShrapnel.cs +++ b/OpenRA.Mods.D2k/Traits/ThrowsShrapnel.cs @@ -12,7 +12,7 @@ using System.Linq; using OpenRA.GameRules; using OpenRA.Traits; -namespace OpenRA.Mods.D2k +namespace OpenRA.Mods.D2k.Traits { [Desc("Throws particles when the actor is destroyed that do damage on impact.")] public class ThrowsShrapnelInfo : ITraitInfo diff --git a/OpenRA.Mods.D2k/World/ChooseBuildTabOnSelect.cs b/OpenRA.Mods.D2k/Traits/World/ChooseBuildTabOnSelect.cs similarity index 98% rename from OpenRA.Mods.D2k/World/ChooseBuildTabOnSelect.cs rename to OpenRA.Mods.D2k/Traits/World/ChooseBuildTabOnSelect.cs index cd4c8ce9ea..8537910eb7 100644 --- a/OpenRA.Mods.D2k/World/ChooseBuildTabOnSelect.cs +++ b/OpenRA.Mods.D2k/Traits/World/ChooseBuildTabOnSelect.cs @@ -14,7 +14,7 @@ using OpenRA.Mods.RA; using OpenRA.Traits; using OpenRA.Widgets; -namespace OpenRA.Mods.D2k +namespace OpenRA.Mods.D2k.Traits { class ChooseBuildTabOnSelectInfo : ITraitInfo { diff --git a/OpenRA.Mods.D2k/World/D2kResourceLayer.cs b/OpenRA.Mods.D2k/Traits/World/D2kResourceLayer.cs similarity index 99% rename from OpenRA.Mods.D2k/World/D2kResourceLayer.cs rename to OpenRA.Mods.D2k/Traits/World/D2kResourceLayer.cs index fbead559bb..d3770b257b 100644 --- a/OpenRA.Mods.D2k/World/D2kResourceLayer.cs +++ b/OpenRA.Mods.D2k/Traits/World/D2kResourceLayer.cs @@ -14,7 +14,7 @@ using System.Linq; using OpenRA.Mods.RA; using OpenRA.Traits; -namespace OpenRA.Mods.D2k +namespace OpenRA.Mods.D2k.Traits { [Desc("Used to render spice with round borders.")] public class D2kResourceLayerInfo : TraitInfo { } diff --git a/OpenRA.Mods.D2k/World/FogPaletteFromR8.cs b/OpenRA.Mods.D2k/Traits/World/FogPaletteFromR8.cs similarity index 98% rename from OpenRA.Mods.D2k/World/FogPaletteFromR8.cs rename to OpenRA.Mods.D2k/Traits/World/FogPaletteFromR8.cs index 7196303898..24225deaca 100644 --- a/OpenRA.Mods.D2k/World/FogPaletteFromR8.cs +++ b/OpenRA.Mods.D2k/Traits/World/FogPaletteFromR8.cs @@ -13,7 +13,7 @@ using OpenRA.FileSystem; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.D2k +namespace OpenRA.Mods.D2k.Traits { class FogPaletteFromR8Info : ITraitInfo { diff --git a/OpenRA.Mods.D2k/World/PaletteFromR8.cs b/OpenRA.Mods.D2k/Traits/World/PaletteFromR8.cs similarity index 97% rename from OpenRA.Mods.D2k/World/PaletteFromR8.cs rename to OpenRA.Mods.D2k/Traits/World/PaletteFromR8.cs index d544747761..4b49a9c8f7 100644 --- a/OpenRA.Mods.D2k/World/PaletteFromR8.cs +++ b/OpenRA.Mods.D2k/Traits/World/PaletteFromR8.cs @@ -13,7 +13,7 @@ using OpenRA.FileSystem; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.D2k +namespace OpenRA.Mods.D2k.Traits { class PaletteFromR8Info : ITraitInfo { diff --git a/OpenRA.Mods.D2k/World/PaletteFromScaledPalette.cs b/OpenRA.Mods.D2k/Traits/World/PaletteFromScaledPalette.cs similarity index 98% rename from OpenRA.Mods.D2k/World/PaletteFromScaledPalette.cs rename to OpenRA.Mods.D2k/Traits/World/PaletteFromScaledPalette.cs index ab8a0e0da6..406fcc13b5 100644 --- a/OpenRA.Mods.D2k/World/PaletteFromScaledPalette.cs +++ b/OpenRA.Mods.D2k/Traits/World/PaletteFromScaledPalette.cs @@ -12,7 +12,7 @@ using System.Drawing; using OpenRA.Graphics; using OpenRA.Traits; -namespace OpenRA.Mods.D2k +namespace OpenRA.Mods.D2k.Traits { [Desc("Create a palette by applying a scale and offset to the colors in another palette.")] class PaletteFromScaledPaletteInfo : ITraitInfo diff --git a/OpenRA.Mods.RA/AI/HackyAI.cs b/OpenRA.Mods.RA/AI/HackyAI.cs index bd1ed93781..577d65afd8 100644 --- a/OpenRA.Mods.RA/AI/HackyAI.cs +++ b/OpenRA.Mods.RA/AI/HackyAI.cs @@ -14,7 +14,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Mods.RA.Move; using OpenRA.Mods.Common.Power; diff --git a/OpenRA.Mods.RA/AI/Squad.cs b/OpenRA.Mods.RA/AI/Squad.cs index 0ae0b05f0e..3083bb8786 100644 --- a/OpenRA.Mods.RA/AI/Squad.cs +++ b/OpenRA.Mods.RA/AI/Squad.cs @@ -10,6 +10,8 @@ using System.Collections.Generic; using System.Linq; +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Traits; using OpenRA.Support; using OpenRA.Traits; @@ -39,7 +41,7 @@ namespace OpenRA.Mods.RA.AI this.world = bot.world; this.random = bot.random; this.type = type; - this.target = Traits.Target.FromActor(target); + this.target = OpenRA.Traits.Target.FromActor(target); fsm = new StateMachine(); switch (type) @@ -68,7 +70,7 @@ namespace OpenRA.Mods.RA.AI public Actor Target { get { return target.Actor; } - set { target = Traits.Target.FromActor(value); } + set { target = OpenRA.Traits.Target.FromActor(value); } } public bool TargetIsValid diff --git a/OpenRA.Mods.RA/AI/States/AirStates.cs b/OpenRA.Mods.RA/AI/States/AirStates.cs index 235bb00b92..12ca987d88 100644 --- a/OpenRA.Mods.RA/AI/States/AirStates.cs +++ b/OpenRA.Mods.RA/AI/States/AirStates.cs @@ -11,7 +11,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.AI diff --git a/OpenRA.Mods.RA/AI/States/StateBase.cs b/OpenRA.Mods.RA/AI/States/StateBase.cs index 677829b2e2..601fec2837 100644 --- a/OpenRA.Mods.RA/AI/States/StateBase.cs +++ b/OpenRA.Mods.RA/AI/States/StateBase.cs @@ -12,7 +12,7 @@ using System; using System.Collections.Generic; using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Air/FallsToEarth.cs b/OpenRA.Mods.RA/Activities/Air/FallToEarth.cs old mode 100755 new mode 100644 similarity index 71% rename from OpenRA.Mods.RA/Air/FallsToEarth.cs rename to OpenRA.Mods.RA/Activities/Air/FallToEarth.cs index f35654c5e9..004138ccd8 --- a/OpenRA.Mods.RA/Air/FallsToEarth.cs +++ b/OpenRA.Mods.RA/Activities/Air/FallToEarth.cs @@ -1,4 +1,4 @@ -#region Copyright & License Information +#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 @@ -10,31 +10,12 @@ using System.Linq; using OpenRA.GameRules; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { - class FallsToEarthInfo : ITraitInfo - { - [WeaponReference] - public readonly string Explosion = "UnitExplode"; - - public readonly bool Spins = true; - public readonly bool Moves = false; - public readonly WRange Velocity = new WRange(43); - - public object Create(ActorInitializer init) { return new FallsToEarth(init.self, this); } - } - - class FallsToEarth - { - public FallsToEarth(Actor self, FallsToEarthInfo info) - { - self.QueueActivity(false, new FallToEarth(self, info)); - } - } - - class FallToEarth : Activity + public class FallToEarth : Activity { int acceleration = 0; int spin = 0; diff --git a/OpenRA.Mods.RA/Air/Fly.cs b/OpenRA.Mods.RA/Activities/Air/Fly.cs old mode 100755 new mode 100644 similarity index 97% rename from OpenRA.Mods.RA/Air/Fly.cs rename to OpenRA.Mods.RA/Activities/Air/Fly.cs index 3408d634fa..f246e6c33e --- a/OpenRA.Mods.RA/Air/Fly.cs +++ b/OpenRA.Mods.RA/Activities/Air/Fly.cs @@ -9,9 +9,10 @@ #endregion using System.Collections.Generic; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class Fly : Activity { diff --git a/OpenRA.Mods.RA/Air/FlyAttack.cs b/OpenRA.Mods.RA/Activities/Air/FlyAttack.cs old mode 100755 new mode 100644 similarity index 95% rename from OpenRA.Mods.RA/Air/FlyAttack.cs rename to OpenRA.Mods.RA/Activities/Air/FlyAttack.cs index 0fdd308156..68e830b091 --- a/OpenRA.Mods.RA/Air/FlyAttack.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyAttack.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class FlyAttack : Activity { diff --git a/OpenRA.Mods.RA/Air/FlyCircle.cs b/OpenRA.Mods.RA/Activities/Air/FlyCircle.cs similarity index 91% rename from OpenRA.Mods.RA/Air/FlyCircle.cs rename to OpenRA.Mods.RA/Activities/Air/FlyCircle.cs index 621d2aa97b..badb3f5878 100644 --- a/OpenRA.Mods.RA/Air/FlyCircle.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyCircle.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class FlyCircle : Activity { diff --git a/OpenRA.Mods.RA/Activities/FlyFollow.cs b/OpenRA.Mods.RA/Activities/Air/FlyFollow.cs similarity index 97% rename from OpenRA.Mods.RA/Activities/FlyFollow.cs rename to OpenRA.Mods.RA/Activities/Air/FlyFollow.cs index 83ea6a0fa1..f9d005325b 100644 --- a/OpenRA.Mods.RA/Activities/FlyFollow.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyFollow.cs @@ -8,7 +8,7 @@ */ #endregion -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.Activities diff --git a/OpenRA.Mods.RA/Air/FlyTimed.cs b/OpenRA.Mods.RA/Activities/Air/FlyTimed.cs old mode 100755 new mode 100644 similarity index 94% rename from OpenRA.Mods.RA/Air/FlyTimed.cs rename to OpenRA.Mods.RA/Activities/Air/FlyTimed.cs index 07963698c0..61442b5c7d --- a/OpenRA.Mods.RA/Air/FlyTimed.cs +++ b/OpenRA.Mods.RA/Activities/Air/FlyTimed.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class FlyTimed : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliAttack.cs b/OpenRA.Mods.RA/Activities/Air/HeliAttack.cs old mode 100755 new mode 100644 similarity index 95% rename from OpenRA.Mods.RA/Air/HeliAttack.cs rename to OpenRA.Mods.RA/Activities/Air/HeliAttack.cs index ab3950453e..ec045eb571 --- a/OpenRA.Mods.RA/Air/HeliAttack.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliAttack.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class HeliAttack : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliFly.cs b/OpenRA.Mods.RA/Activities/Air/HeliFly.cs old mode 100755 new mode 100644 similarity index 97% rename from OpenRA.Mods.RA/Air/HeliFly.cs rename to OpenRA.Mods.RA/Activities/Air/HeliFly.cs index e9df2f7d92..37c0f424fd --- a/OpenRA.Mods.RA/Air/HeliFly.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliFly.cs @@ -9,9 +9,10 @@ #endregion using System.Collections.Generic; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { class HeliFly : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliLand.cs b/OpenRA.Mods.RA/Activities/Air/HeliLand.cs old mode 100755 new mode 100644 similarity index 92% rename from OpenRA.Mods.RA/Air/HeliLand.cs rename to OpenRA.Mods.RA/Activities/Air/HeliLand.cs index e5edc77800..23cf807699 --- a/OpenRA.Mods.RA/Air/HeliLand.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliLand.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { class HeliLand : Activity { diff --git a/OpenRA.Mods.RA/Air/HeliReturn.cs b/OpenRA.Mods.RA/Activities/Air/HeliReturn.cs old mode 100755 new mode 100644 similarity index 96% rename from OpenRA.Mods.RA/Air/HeliReturn.cs rename to OpenRA.Mods.RA/Activities/Air/HeliReturn.cs index 5fa2924f02..4d9760ee4b --- a/OpenRA.Mods.RA/Air/HeliReturn.cs +++ b/OpenRA.Mods.RA/Activities/Air/HeliReturn.cs @@ -9,10 +9,10 @@ #endregion using System.Linq; -using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class HeliReturn : Activity { diff --git a/OpenRA.Mods.RA/Air/Land.cs b/OpenRA.Mods.RA/Activities/Air/Land.cs old mode 100755 new mode 100644 similarity index 94% rename from OpenRA.Mods.RA/Air/Land.cs rename to OpenRA.Mods.RA/Activities/Air/Land.cs index 8f9ffa59ca..a313bd3257 --- a/OpenRA.Mods.RA/Air/Land.cs +++ b/OpenRA.Mods.RA/Activities/Air/Land.cs @@ -8,9 +8,10 @@ */ #endregion +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class Land : Activity { diff --git a/OpenRA.Mods.RA/Activities/Air/ResupplyAircraft.cs b/OpenRA.Mods.RA/Activities/Air/ResupplyAircraft.cs new file mode 100644 index 0000000000..eff39c53ad --- /dev/null +++ b/OpenRA.Mods.RA/Activities/Air/ResupplyAircraft.cs @@ -0,0 +1,34 @@ +#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 System.Collections.Generic; +using System.Linq; +using OpenRA.Mods.RA.Traits; +using OpenRA.Primitives; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA.Activities +{ + public class ResupplyAircraft : Activity + { + public override Activity Tick(Actor self) + { + var aircraft = self.Trait(); + var host = aircraft.GetActorBelow(); + + if (host == null) + return NextActivity; + + return Util.SequenceActivities( + aircraft.GetResupplyActivities(host).Append(NextActivity).ToArray()); + } + } +} diff --git a/OpenRA.Mods.RA/Air/ReturnToBase.cs b/OpenRA.Mods.RA/Activities/Air/ReturnToBase.cs old mode 100755 new mode 100644 similarity index 98% rename from OpenRA.Mods.RA/Air/ReturnToBase.cs rename to OpenRA.Mods.RA/Activities/Air/ReturnToBase.cs index e5410c21b2..a876978857 --- a/OpenRA.Mods.RA/Air/ReturnToBase.cs +++ b/OpenRA.Mods.RA/Activities/Air/ReturnToBase.cs @@ -10,9 +10,10 @@ using System; using System.Linq; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class ReturnToBase : Activity { diff --git a/OpenRA.Mods.RA/Air/TakeOff.cs b/OpenRA.Mods.RA/Activities/Air/TakeOff.cs similarity index 94% rename from OpenRA.Mods.RA/Air/TakeOff.cs rename to OpenRA.Mods.RA/Activities/Air/TakeOff.cs index cc8be21817..85d53dbce3 100644 --- a/OpenRA.Mods.RA/Air/TakeOff.cs +++ b/OpenRA.Mods.RA/Activities/Air/TakeOff.cs @@ -9,9 +9,10 @@ #endregion using OpenRA.Mods.Common; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Activities { public class TakeOff : Activity { diff --git a/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs b/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs index 6e60626e91..0cfeba787f 100644 --- a/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs +++ b/OpenRA.Mods.RA/Attack/AttackGarrisoned.cs @@ -13,7 +13,9 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Graphics; using OpenRA.Mods.Common.Traits.Render; +using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Render; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA @@ -140,7 +142,7 @@ namespace OpenRA.Mods.RA return; var pos = self.CenterPosition; - var targetYaw = WAngle.FromFacing(Traits.Util.GetFacing(target.CenterPosition - self.CenterPosition, 0)); + var targetYaw = WAngle.FromFacing(OpenRA.Traits.Util.GetFacing(target.CenterPosition - self.CenterPosition, 0)); foreach (var a in Armaments) { @@ -160,7 +162,7 @@ namespace OpenRA.Mods.RA var sequence = a.Info.MuzzleSequence; if (a.Info.MuzzleSplitFacings > 0) - sequence += Traits.Util.QuantizeFacing(muzzleFacing, a.Info.MuzzleSplitFacings).ToString(); + sequence += OpenRA.Traits.Util.QuantizeFacing(muzzleFacing, a.Info.MuzzleSplitFacings).ToString(); var muzzleFlash = new AnimationWithOffset(muzzleAnim, () => PortOffset(self, port), diff --git a/OpenRA.Mods.RA/Cargo.cs b/OpenRA.Mods.RA/Cargo.cs index f88a948e04..de7167f0ae 100644 --- a/OpenRA.Mods.RA/Cargo.cs +++ b/OpenRA.Mods.RA/Cargo.cs @@ -13,8 +13,8 @@ using System.Linq; using System.Collections.Generic; using OpenRA.Traits; using OpenRA.Primitives; -using OpenRA.Mods.RA.Air; using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.Common.Orders; namespace OpenRA.Mods.RA diff --git a/OpenRA.Mods.RA/CrateSpawner.cs b/OpenRA.Mods.RA/CrateSpawner.cs index c01188c484..140a737238 100644 --- a/OpenRA.Mods.RA/CrateSpawner.cs +++ b/OpenRA.Mods.RA/CrateSpawner.cs @@ -11,7 +11,7 @@ using System; using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Effects/GpsDot.cs b/OpenRA.Mods.RA/Effects/GpsDot.cs index 1228c70912..6c598fc777 100644 --- a/OpenRA.Mods.RA/Effects/GpsDot.cs +++ b/OpenRA.Mods.RA/Effects/GpsDot.cs @@ -12,7 +12,7 @@ using System; using System.Collections.Generic; using OpenRA.Effects; using OpenRA.Graphics; -using OpenRA.Mods.Common; +using OpenRA.Mods.Common.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index e564035462..30ee595c3d 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -80,7 +80,20 @@ - + + + + + + + + + + + + + + @@ -112,9 +125,6 @@ - - - @@ -126,21 +136,6 @@ - - - - - - - - - - - - - - - @@ -306,6 +301,15 @@ + + + + + + + + + @@ -381,7 +385,6 @@ - @@ -428,7 +431,6 @@ - diff --git a/OpenRA.Mods.RA/ParaDrop.cs b/OpenRA.Mods.RA/ParaDrop.cs index 80888a3c61..5e4a0ad51d 100644 --- a/OpenRA.Mods.RA/ParaDrop.cs +++ b/OpenRA.Mods.RA/ParaDrop.cs @@ -11,7 +11,7 @@ using System; using System.Collections.Generic; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Effects; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs b/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs index 40a59d9a26..18c640e335 100644 --- a/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs +++ b/OpenRA.Mods.RA/Render/WithMuzzleFlash.cs @@ -13,6 +13,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Graphics; using OpenRA.Mods.Common.Traits.Render; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.Render @@ -79,7 +80,7 @@ namespace OpenRA.Mods.RA.Render return; if (a.Info.MuzzleSplitFacings > 0) - sequence += Traits.Util.QuantizeFacing(getFacing(), a.Info.MuzzleSplitFacings).ToString(); + sequence += OpenRA.Traits.Util.QuantizeFacing(getFacing(), a.Info.MuzzleSplitFacings).ToString(); visible[barrel] = true; anims[barrel].Animation.PlayThen(sequence, () => visible[barrel] = false); diff --git a/OpenRA.Mods.RA/Render/WithShadow.cs b/OpenRA.Mods.RA/Render/WithShadow.cs index ec8723b94b..7a32064b1a 100644 --- a/OpenRA.Mods.RA/Render/WithShadow.cs +++ b/OpenRA.Mods.RA/Render/WithShadow.cs @@ -12,7 +12,8 @@ using System; using System.Collections.Generic; using System.Linq; using OpenRA.Graphics; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Traits; namespace OpenRA.Mods.RA.Render diff --git a/OpenRA.Mods.RA/Reservable.cs b/OpenRA.Mods.RA/Reservable.cs index 386c1d768e..13deff87e3 100755 --- a/OpenRA.Mods.RA/Reservable.cs +++ b/OpenRA.Mods.RA/Reservable.cs @@ -9,7 +9,7 @@ #endregion using System; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs index 43f08dc9aa..2224a1009e 100644 --- a/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs @@ -11,7 +11,8 @@ using System.Linq; using Eluant; using OpenRA.Mods.Common; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Mods.RA.Buildings; using OpenRA.Primitives; diff --git a/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs index 0e9462bd57..c17a186509 100644 --- a/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/ReinforcementsGlobal.cs @@ -18,7 +18,7 @@ using OpenRA.Traits; using OpenRA.Scripting; using OpenRA.Effects; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; namespace OpenRA.Mods.RA.Scripting { diff --git a/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs index 7686a3bd95..96180de80f 100644 --- a/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/UtilsGlobal.cs @@ -11,6 +11,7 @@ using System.Linq; using Eluant; using OpenRA.Scripting; +using OpenRA.Traits; namespace OpenRA.Mods.RA.Scripting { @@ -78,7 +79,7 @@ namespace OpenRA.Mods.RA.Scripting [Desc("Expands the given footprint one step along the coordinate axes, and (if requested) diagonals.")] public CPos[] ExpandFootprint(CPos[] footprint, bool allowDiagonal) { - return Traits.Util.ExpandFootprint(footprint, allowDiagonal).ToArray(); + return Util.ExpandFootprint(footprint, allowDiagonal).ToArray(); } [Desc("Returns a random integer x in the range low <= x < high.")] diff --git a/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs index 4095939090..808c134880 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/HelicopterProperties.cs @@ -8,7 +8,8 @@ */ #endregion -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Scripting; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs index d459b77d52..768f3658e5 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs @@ -8,7 +8,8 @@ */ #endregion -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Activities; +using OpenRA.Mods.RA.Traits; using OpenRA.Scripting; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs index 670ffbb266..57380c680e 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs @@ -10,7 +10,7 @@ using System.Linq; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Scripting; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs b/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs index fdfe835f31..89badcd4a4 100644 --- a/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs +++ b/OpenRA.Mods.RA/SupportPowers/AirstrikePower.cs @@ -13,7 +13,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common.Effects; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs b/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs index 133b7ff262..8f504c76df 100644 --- a/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs +++ b/OpenRA.Mods.RA/SupportPowers/ParatroopersPower.cs @@ -13,7 +13,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common.Effects; using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; +using OpenRA.Mods.RA.Traits; using OpenRA.Primitives; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Air/Aircraft.cs b/OpenRA.Mods.RA/Traits/Air/Aircraft.cs similarity index 96% rename from OpenRA.Mods.RA/Air/Aircraft.cs rename to OpenRA.Mods.RA/Traits/Air/Aircraft.cs index 2e0ba3f40f..b4fac4825d 100644 --- a/OpenRA.Mods.RA/Air/Aircraft.cs +++ b/OpenRA.Mods.RA/Traits/Air/Aircraft.cs @@ -12,12 +12,13 @@ using System; using System.Collections.Generic; using System.Linq; using OpenRA.Mods.Common.Orders; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Buildings; using OpenRA.Primitives; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { public class AircraftInfo : ITraitInfo, IFacingInfo, IOccupySpaceInfo, UsesInit, UsesInit { @@ -296,21 +297,6 @@ namespace OpenRA.Mods.RA.Air } } - public class ResupplyAircraft : Activity - { - public override Activity Tick(Actor self) - { - var aircraft = self.Trait(); - var host = aircraft.GetActorBelow(); - - if (host == null) - return NextActivity; - - return Util.SequenceActivities( - aircraft.GetResupplyActivities(host).Append(NextActivity).ToArray()); - } - } - class AircraftMoveOrderTargeter : IOrderTargeter { public string OrderID { get { return "Move"; } } diff --git a/OpenRA.Mods.RA/Air/AttackHeli.cs b/OpenRA.Mods.RA/Traits/Air/AttackHeli.cs old mode 100755 new mode 100644 similarity index 89% rename from OpenRA.Mods.RA/Air/AttackHeli.cs rename to OpenRA.Mods.RA/Traits/Air/AttackHeli.cs index b14bb33bf4..79bc7c647b --- a/OpenRA.Mods.RA/Air/AttackHeli.cs +++ b/OpenRA.Mods.RA/Traits/Air/AttackHeli.cs @@ -8,9 +8,11 @@ */ #endregion +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { class AttackHeliInfo : AttackFrontalInfo { diff --git a/OpenRA.Mods.RA/Air/AttackPlane.cs b/OpenRA.Mods.RA/Traits/Air/AttackPlane.cs old mode 100755 new mode 100644 similarity index 92% rename from OpenRA.Mods.RA/Air/AttackPlane.cs rename to OpenRA.Mods.RA/Traits/Air/AttackPlane.cs index 6025e8a27d..ff1b593f93 --- a/OpenRA.Mods.RA/Air/AttackPlane.cs +++ b/OpenRA.Mods.RA/Traits/Air/AttackPlane.cs @@ -8,9 +8,11 @@ */ #endregion +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { class AttackPlaneInfo : AttackFrontalInfo { diff --git a/OpenRA.Mods.RA/Traits/Air/FallsToEarth.cs b/OpenRA.Mods.RA/Traits/Air/FallsToEarth.cs new file mode 100644 index 0000000000..2f89eeaef4 --- /dev/null +++ b/OpenRA.Mods.RA/Traits/Air/FallsToEarth.cs @@ -0,0 +1,38 @@ +#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.Linq; +using OpenRA.GameRules; +using OpenRA.Mods.RA; +using OpenRA.Mods.RA.Activities; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA.Traits +{ + public class FallsToEarthInfo : ITraitInfo + { + [WeaponReference] + public readonly string Explosion = "UnitExplode"; + + public readonly bool Spins = true; + public readonly bool Moves = false; + public readonly WRange Velocity = new WRange(43); + + public object Create(ActorInitializer init) { return new FallsToEarth(init.self, this); } + } + + public class FallsToEarth + { + public FallsToEarth(Actor self, FallsToEarthInfo info) + { + self.QueueActivity(false, new FallToEarth(self, info)); + } + } +} diff --git a/OpenRA.Mods.RA/Air/FlyAwayOnIdle.cs b/OpenRA.Mods.RA/Traits/Air/FlyAwayOnIdle.cs similarity index 92% rename from OpenRA.Mods.RA/Air/FlyAwayOnIdle.cs rename to OpenRA.Mods.RA/Traits/Air/FlyAwayOnIdle.cs index 71df7075f6..2d51542247 100644 --- a/OpenRA.Mods.RA/Air/FlyAwayOnIdle.cs +++ b/OpenRA.Mods.RA/Traits/Air/FlyAwayOnIdle.cs @@ -8,10 +8,11 @@ */ #endregion +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { [Desc("Leave the map when idle.")] class FlyAwayOnIdleInfo : TraitInfo { } diff --git a/OpenRA.Mods.RA/Air/Helicopter.cs b/OpenRA.Mods.RA/Traits/Air/Helicopter.cs similarity index 98% rename from OpenRA.Mods.RA/Air/Helicopter.cs rename to OpenRA.Mods.RA/Traits/Air/Helicopter.cs index bc2dc46471..2e303216ea 100644 --- a/OpenRA.Mods.RA/Air/Helicopter.cs +++ b/OpenRA.Mods.RA/Traits/Air/Helicopter.cs @@ -12,10 +12,11 @@ using System; using System.Collections.Generic; using System.Drawing; using System.Linq; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { class HelicopterInfo : AircraftInfo, IMoveInfo { diff --git a/OpenRA.Mods.RA/Air/Plane.cs b/OpenRA.Mods.RA/Traits/Air/Plane.cs similarity index 98% rename from OpenRA.Mods.RA/Air/Plane.cs rename to OpenRA.Mods.RA/Traits/Air/Plane.cs index ba159fc8c7..591f110368 100644 --- a/OpenRA.Mods.RA/Air/Plane.cs +++ b/OpenRA.Mods.RA/Traits/Air/Plane.cs @@ -10,10 +10,11 @@ using System; using System.Drawing; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { public class PlaneInfo : AircraftInfo, IMoveInfo { diff --git a/OpenRA.Mods.RA/Air/ReturnOnIdle.cs b/OpenRA.Mods.RA/Traits/Air/ReturnOnIdle.cs old mode 100755 new mode 100644 similarity index 97% rename from OpenRA.Mods.RA/Air/ReturnOnIdle.cs rename to OpenRA.Mods.RA/Traits/Air/ReturnOnIdle.cs index 133b3487ea..5483d354f9 --- a/OpenRA.Mods.RA/Air/ReturnOnIdle.cs +++ b/OpenRA.Mods.RA/Traits/Air/ReturnOnIdle.cs @@ -9,11 +9,12 @@ #endregion using System.Linq; +using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Buildings; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Air +namespace OpenRA.Mods.RA.Traits { [Desc("Return to a player owned RearmBuildings. If none available, head back to base and circle over it.")] class ReturnOnIdleInfo : TraitInfo { } diff --git a/OpenRA.Mods.RA/Air/TargetableAircraft.cs b/OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs old mode 100755 new mode 100644 similarity index 89% rename from OpenRA.Mods.RA/Air/TargetableAircraft.cs rename to OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs index f7a7259685..de13199744 --- a/OpenRA.Mods.RA/Air/TargetableAircraft.cs +++ b/OpenRA.Mods.RA/Traits/Air/TargetableAircraft.cs @@ -8,7 +8,11 @@ */ #endregion -namespace OpenRA.Mods.RA.Air +using System.Collections.Generic; +using OpenRA.Mods.RA; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA.Traits { public class TargetableAircraftInfo : TargetableUnitInfo { diff --git a/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs index 1e23af0af3..e64d472361 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs @@ -11,7 +11,7 @@ using System; using System.Drawing; using System.Linq; -using OpenRA.Mods.Common; +using OpenRA.Mods.Common.Traits; using OpenRA.Mods.RA.Scripting; using OpenRA.Network; using OpenRA.Traits; diff --git a/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs index 7b0286c4c6..5e933a9f7e 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs @@ -10,7 +10,7 @@ using System; using OpenRA.Graphics; -using OpenRA.Mods.Common; +using OpenRA.Mods.Common.Traits; using OpenRA.Mods.Common.Widgets; using OpenRA.Widgets; diff --git a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj index 406af22135..0abe436556 100644 --- a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj +++ b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj @@ -55,12 +55,12 @@ - - - - + + + +