Remove some dead code from UOG.

This commit is contained in:
Paul Chote
2011-04-09 10:32:36 +12:00
parent c87188e93f
commit c775b5ba68
2 changed files with 24 additions and 71 deletions

View File

@@ -19,86 +19,41 @@ namespace OpenRA.Orders
{ {
public IEnumerable<Order> Order( World world, int2 xy, MouseInput mi ) public IEnumerable<Order> Order( World world, int2 xy, MouseInput mi )
{ {
var custom = world.WorldActor.TraitOrDefault<ICustomUnitOrderGenerator>();
if (custom != null)
{
var customOrders = custom.Order(world, xy, mi);
foreach (var o in customOrders) var underCursor = world.FindUnitsAtMouse(mi.Location)
yield return o; .Where(a => a.HasTrait<ITargetable>())
} .OrderByDescending(
else a =>
{ a.Info.Traits.Contains<SelectableInfo>()
var underCursor = world.FindUnitsAtMouse(mi.Location) ? a.Info.Traits.Get<SelectableInfo>().Priority
.Where(a => a.HasTrait<ITargetable>()) : int.MinValue)
.OrderByDescending( .FirstOrDefault();
a =>
a.Info.Traits.Contains<SelectableInfo>()
? a.Info.Traits.Get<SelectableInfo>().Priority
: int.MinValue)
.FirstOrDefault();
var orders = world.Selection.Actors var orders = world.Selection.Actors
.Select(a => OrderForUnit(a, xy, mi, underCursor)) .Select(a => OrderForUnit(a, xy, mi, underCursor))
.Where(o => o != null) .Where(o => o != null)
.ToArray(); .ToArray();
var actorsInvolved = orders.Select(o => o.self).Distinct(); var actorsInvolved = orders.Select(o => o.self).Distinct();
if (actorsInvolved.Any()) if (actorsInvolved.Any())
yield return new Order("CreateGroup", actorsInvolved.First().Owner.PlayerActor, false) yield return new Order("CreateGroup", actorsInvolved.First().Owner.PlayerActor, false)
{ {
TargetString = string.Join(",", actorsInvolved.Select(a => a.ActorID.ToString()).ToArray()) TargetString = string.Join(",", actorsInvolved.Select(a => a.ActorID.ToString()).ToArray())
}; };
foreach (var o in orders) foreach (var o in orders)
yield return CheckSameOrder(o.iot, o.trait.IssueOrder(o.self, o.iot, o.target, mi.Modifiers.HasModifier(Modifiers.Shift))); yield return CheckSameOrder(o.iot, o.trait.IssueOrder(o.self, o.iot, o.target, mi.Modifiers.HasModifier(Modifiers.Shift)));
}
} }
public void Tick( World world ) public void Tick( World world ) { }
{ public void RenderBeforeWorld( WorldRenderer wr, World world ) { }
var custom = world.WorldActor.TraitOrDefault<ICustomUnitOrderGenerator>(); public void RenderAfterWorld( WorldRenderer wr, World world ) { }
if (custom != null)
{
custom.Tick(world);
}
}
public void RenderBeforeWorld( WorldRenderer wr, World world )
{
var custom = world.WorldActor.TraitOrDefault<ICustomUnitOrderGenerator>();
if (custom != null)
{
custom.RenderBeforeWorld(wr, world);
return;
}
Game.Renderer.Flush();
}
public void RenderAfterWorld( WorldRenderer wr, World world )
{
var custom = world.WorldActor.TraitOrDefault<ICustomUnitOrderGenerator>();
if (custom != null)
{
custom.RenderAfterWorld(wr, world);
return;
}
Game.Renderer.Flush();
}
public string GetCursor( World world, int2 xy, MouseInput mi ) public string GetCursor( World world, int2 xy, MouseInput mi )
{ {
bool useSelect = false; bool useSelect = false;
var custom = world.WorldActor.TraitOrDefault<ICustomUnitOrderGenerator>();
if (custom != null)
{
return custom.GetCursor(world, xy, mi);
}
var underCursor = world.FindUnitsAtMouse(mi.Location) var underCursor = world.FindUnitsAtMouse(mi.Location)
.Where(a => a.HasTrait<ITargetable>()) .Where(a => a.HasTrait<ITargetable>())
.OrderByDescending(a => a.Info.Traits.Contains<SelectableInfo>() ? a.Info.Traits.Get<SelectableInfo>().Priority : int.MinValue) .OrderByDescending(a => a.Info.Traits.Contains<SelectableInfo>() ? a.Info.Traits.Get<SelectableInfo>().Priority : int.MinValue)
@@ -124,7 +79,6 @@ namespace OpenRA.Orders
if (self.Owner != self.World.LocalPlayer) if (self.Owner != self.World.LocalPlayer)
return null; return null;
if (self.Destroyed) if (self.Destroyed)
return null; return null;

View File

@@ -57,7 +57,6 @@ namespace OpenRA.Traits
public interface IValidateOrder { bool OrderValidation(OrderManager orderManager, World world, int clientId, Order order); } public interface IValidateOrder { bool OrderValidation(OrderManager orderManager, World world, int clientId, Order order); }
public interface IOrderCursor { string CursorForOrder(Actor self, Order order); } public interface IOrderCursor { string CursorForOrder(Actor self, Order order); }
public interface IOrderVoice { string VoicePhraseForOrder(Actor self, Order order); } public interface IOrderVoice { string VoicePhraseForOrder(Actor self, Order order); }
public interface ICustomUnitOrderGenerator : IOrderGenerator { };
public interface INotifySold { void Selling(Actor self); void Sold(Actor self); } public interface INotifySold { void Selling(Actor self); void Sold(Actor self); }
public interface INotifyDamage { void Damaged(Actor self, AttackInfo e); } public interface INotifyDamage { void Damaged(Actor self, AttackInfo e); }
public interface INotifyAppliedDamage { void AppliedDamage(Actor self, Actor damaged, AttackInfo e); } public interface INotifyAppliedDamage { void AppliedDamage(Actor self, Actor damaged, AttackInfo e); }