Deselect units that disappear into fog-of-war.
Fixes #596. This was SVN commit r8278.
This commit is contained in:
parent
f662e069b1
commit
9872cb17b8
@ -195,10 +195,24 @@ EntitySelection.prototype.update = function()
|
||||
for each (var ent in this.selected)
|
||||
{
|
||||
var entState = GetEntityState(ent);
|
||||
// Remove deleted units
|
||||
if (!entState)
|
||||
{
|
||||
delete this.selected[ent];
|
||||
numberRemoved++;
|
||||
continue;
|
||||
}
|
||||
// Remove non-visible units (e.g. moved back into fog-of-war)
|
||||
if (entState.visibility == "hidden")
|
||||
{
|
||||
// Disable any highlighting of the disappeared unit
|
||||
_setHighlight([ent], 0);
|
||||
_setStatusBars([ent], false);
|
||||
_setMotionOverlay([ent], false);
|
||||
|
||||
delete this.selected[ent];
|
||||
numberRemoved++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (numberRemoved > 0)
|
||||
|
@ -145,6 +145,10 @@ GuiInterface.prototype.GetEntityState = function(player, ent)
|
||||
{
|
||||
ret.rallyPoint = { };
|
||||
}
|
||||
|
||||
var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
|
||||
ret.visibility = cmpRangeManager.GetLosVisibility(ent, player);
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user