fix selection of phantom units, etc
This commit is contained in:
@@ -30,7 +30,7 @@ namespace OpenRa.Game
|
|||||||
Rules.LoadRules();
|
Rules.LoadRules();
|
||||||
|
|
||||||
for( int i = 0 ; i < 8 ; i++ )
|
for( int i = 0 ; i < 8 ; i++ )
|
||||||
players.Add(i, new Player(i, string.Format("Multi{0}", i), OpenRa.TechTree.Race.Soviet));
|
players.Add(i, new Player(i, string.Format("Multi{0}", i), OpenRa.TechTree.Race.Allies));
|
||||||
|
|
||||||
map = new Map(new IniFile(FileSystem.Open(mapName)));
|
map = new Map(new IniFile(FileSystem.Open(mapName)));
|
||||||
FileSystem.Mount(new Package(map.Theater + ".mix"));
|
FileSystem.Mount(new Package(map.Theater + ".mix"));
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace OpenRa.Game.Graphics
|
namespace OpenRa.Game.Graphics
|
||||||
@@ -71,7 +72,7 @@ namespace OpenRa.Game.Graphics
|
|||||||
|
|
||||||
var selection = world.game.controller.orderGenerator as UnitOrderGenerator;
|
var selection = world.game.controller.orderGenerator as UnitOrderGenerator;
|
||||||
if (selection != null)
|
if (selection != null)
|
||||||
foreach( var a in selection.selection )
|
foreach( var a in world.Actors.Intersect(selection.selection) ) /* make sure we don't grab actors that are dead */
|
||||||
DrawSelectionBox(a, Color.White);
|
DrawSelectionBox(a, Color.White);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace OpenRa.Game
|
|||||||
game.world.Add( new Actor( "mcv", new int2( 9, 5 ), game.players[ 0 ] ) );
|
game.world.Add( new Actor( "mcv", new int2( 9, 5 ), game.players[ 0 ] ) );
|
||||||
game.world.Add( new Actor( "jeep", new int2( 9, 7 ), game.players[ 1 ] ) );
|
game.world.Add( new Actor( "jeep", new int2( 9, 7 ), game.players[ 1 ] ) );
|
||||||
|
|
||||||
sidebar = new Sidebar(Race.Soviet, renderer, game);
|
sidebar = new Sidebar(renderer, game);
|
||||||
|
|
||||||
renderer.SetPalette(new HardwarePalette(renderer, game.map));
|
renderer.SetPalette(new HardwarePalette(renderer, game.map));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace OpenRa.Game
|
|||||||
|
|
||||||
List<SidebarItem> items = new List<SidebarItem>();
|
List<SidebarItem> items = new List<SidebarItem>();
|
||||||
|
|
||||||
public Sidebar( Race race, Renderer renderer, Game game )
|
public Sidebar( Renderer renderer, Game game )
|
||||||
{
|
{
|
||||||
this.techTree = game.LocalPlayer.TechTree;
|
this.techTree = game.LocalPlayer.TechTree;
|
||||||
this.techTree.BuildableItemsChanged += PopulateItemList;
|
this.techTree.BuildableItemsChanged += PopulateItemList;
|
||||||
|
|||||||
@@ -94,16 +94,9 @@ namespace OpenRa.TechTree
|
|||||||
|
|
||||||
void CheckAll()
|
void CheckAll()
|
||||||
{
|
{
|
||||||
bool changed = false;
|
|
||||||
foreach (Item unit in objects.Values)
|
foreach (Item unit in objects.Values)
|
||||||
{
|
|
||||||
bool old = unit.CanBuild;
|
|
||||||
unit.CheckPrerequisites(built, currentRace);
|
unit.CheckPrerequisites(built, currentRace);
|
||||||
if (old != unit.CanBuild)
|
|
||||||
changed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//if (changed)
|
|
||||||
BuildableItemsChanged();
|
BuildableItemsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user