more refs to Game.world (Orders, etc)
This commit is contained in:
@@ -125,11 +125,11 @@ namespace OpenRa
|
||||
lastTime += Settings.Timestep;
|
||||
chrome.Tick();
|
||||
|
||||
orderManager.TickImmediate();
|
||||
orderManager.TickImmediate( world );
|
||||
|
||||
if (orderManager.IsReadyForNextFrame)
|
||||
{
|
||||
orderManager.Tick();
|
||||
orderManager.Tick( world );
|
||||
if (controller.orderGenerator != null)
|
||||
controller.orderGenerator.Tick( world );
|
||||
|
||||
|
||||
@@ -64,14 +64,14 @@ namespace OpenRa
|
||||
}
|
||||
}
|
||||
|
||||
static Player LookupPlayer(uint index)
|
||||
static Player LookupPlayer(World world, uint index)
|
||||
{
|
||||
return Game.world.players
|
||||
.Where(x => x.Value.Index == index)
|
||||
.First().Value;
|
||||
}
|
||||
|
||||
public static Order Deserialize(BinaryReader r)
|
||||
public static Order Deserialize(World world, BinaryReader r)
|
||||
{
|
||||
switch (r.ReadByte())
|
||||
{
|
||||
@@ -87,7 +87,7 @@ namespace OpenRa
|
||||
targetString = r.ReadString();
|
||||
|
||||
Actor subject, targetActor;
|
||||
if( !TryGetActorFromUInt( subjectId, out subject ) || !TryGetActorFromUInt( targetActorId, out targetActor ) )
|
||||
if( !TryGetActorFromUInt( world, subjectId, out subject ) || !TryGetActorFromUInt( world, targetActorId, out targetActor ) )
|
||||
return null;
|
||||
|
||||
return new Order( order, subject, targetActor, targetLocation, targetString);
|
||||
@@ -99,7 +99,7 @@ namespace OpenRa
|
||||
var name = r.ReadString();
|
||||
var data = r.ReadString();
|
||||
|
||||
return new Order( name, LookupPlayer( playerID ).PlayerActor, null, int2.Zero, data ) { IsImmediate = true };
|
||||
return new Order( name, LookupPlayer( world, playerID ).PlayerActor, null, int2.Zero, data ) { IsImmediate = true };
|
||||
}
|
||||
|
||||
default:
|
||||
@@ -113,7 +113,7 @@ namespace OpenRa
|
||||
return a.ActorID;
|
||||
}
|
||||
|
||||
static bool TryGetActorFromUInt(uint aID, out Actor ret )
|
||||
static bool TryGetActorFromUInt(World world, uint aID, out Actor ret )
|
||||
{
|
||||
if( aID == 0xFFFFFFFF )
|
||||
{
|
||||
@@ -122,7 +122,7 @@ namespace OpenRa
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach( var a in Game.world.Actors.Where( x => x.ActorID == aID ) )
|
||||
foreach( var a in world.Actors.Where( x => x.ActorID == aID ) )
|
||||
{
|
||||
ret = a;
|
||||
return true;
|
||||
|
||||
@@ -22,14 +22,14 @@ namespace OpenRa.Orders
|
||||
ms.WriteTo(s);
|
||||
}
|
||||
|
||||
public static List<Order> ToOrderList(this byte[] bytes)
|
||||
public static List<Order> ToOrderList(this byte[] bytes, World world)
|
||||
{
|
||||
var ms = new MemoryStream(bytes);
|
||||
var reader = new BinaryReader(ms);
|
||||
var ret = new List<Order>();
|
||||
while( ms.Position < ms.Length )
|
||||
{
|
||||
var o = Order.Deserialize( reader );
|
||||
var o = Order.Deserialize( world, reader );
|
||||
if( o != null )
|
||||
ret.Add( o );
|
||||
}
|
||||
|
||||
@@ -54,11 +54,11 @@ namespace OpenRa.Orders
|
||||
}
|
||||
}
|
||||
|
||||
void ProcessOrders(int frame, bool save)
|
||||
void ProcessOrders(World world, int frame, bool save)
|
||||
{
|
||||
var orders = sources
|
||||
.SelectMany(s => s.OrdersForFrame(frame))
|
||||
.SelectMany(x => x.ToOrderList())
|
||||
.SelectMany(x => x.ToOrderList(world))
|
||||
.OrderBy(o => o.Player.Index)
|
||||
.ToList();
|
||||
|
||||
@@ -69,24 +69,24 @@ namespace OpenRa.Orders
|
||||
savingReplay.WriteFrameData(orders, frame);
|
||||
}
|
||||
|
||||
public void TickImmediate()
|
||||
public void TickImmediate( World world )
|
||||
{
|
||||
var localOrders = Game.controller.GetRecentOrders(true);
|
||||
if (localOrders.Count > 0)
|
||||
foreach (var p in sources)
|
||||
p.SendLocalOrders(0, localOrders);
|
||||
|
||||
ProcessOrders(0, false);
|
||||
ProcessOrders(world, 0, false);
|
||||
}
|
||||
|
||||
public void Tick()
|
||||
public void Tick( World world )
|
||||
{
|
||||
var localOrders = Game.controller.GetRecentOrders(false);
|
||||
|
||||
foreach( var p in sources )
|
||||
p.SendLocalOrders( frameNumber + FramesAhead, localOrders );
|
||||
|
||||
ProcessOrders(frameNumber, true);
|
||||
ProcessOrders(world, frameNumber, true);
|
||||
|
||||
++frameNumber;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace OpenRa.Orders
|
||||
}
|
||||
case "AssignPlayer":
|
||||
{
|
||||
Game.world.LocalPlayer = order.Player;
|
||||
order.Player.World.LocalPlayer = order.Player;
|
||||
Game.chat.AddLine(order.Player, "is now YOU.");
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user