mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-07-25 01:52:31 +00:00
Complete support of civ replacement in Builder list as in ProductionQueue list. Reviewed by s0600204.
Differential Revision: https://code.wildfiregames.com/D707 This was SVN commit r19952.
This commit is contained in:
@@ -42,7 +42,10 @@ Builder.prototype.GetEntitiesList = function()
|
||||
return entities;
|
||||
|
||||
let disabledTemplates = cmpPlayer.GetDisabledTemplates();
|
||||
return entities.filter(ent => !disabledTemplates[ent]);
|
||||
|
||||
let cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager);
|
||||
|
||||
return entities.filter(ent => !disabledTemplates[ent] && cmpTemplateManager.TemplateExists(ent));
|
||||
};
|
||||
|
||||
Builder.prototype.GetRange = function()
|
||||
|
||||
@@ -6,6 +6,10 @@ Engine.LoadComponentScript("Builder.js");
|
||||
const builderId = 6;
|
||||
const playerId = 1;
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|
||||
"TemplateExists": () => true
|
||||
});
|
||||
|
||||
let cmpBuilder = ConstructComponent(builderId, "Builder", {
|
||||
"Rate": 1.0,
|
||||
"Entities": { "_string": "structures/{civ}_barracks structures/{civ}_civil_centre" }
|
||||
@@ -38,6 +42,16 @@ AddMock(builderId, IID_Ownership, {
|
||||
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpBuilder.GetEntitiesList(), ["structures/iber_barracks", "structures/iber_civil_centre"]);
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|
||||
"TemplateExists": name => name == "structures/iber_civil_centre"
|
||||
});
|
||||
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpBuilder.GetEntitiesList(), ["structures/iber_civil_centre"]);
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|
||||
"TemplateExists": () => true
|
||||
});
|
||||
|
||||
AddMock(1, IID_Player, {
|
||||
"GetDisabledTemplates": () => ({ "structures/athen_barracks": true }),
|
||||
"GetPlayerID": () => playerId
|
||||
|
||||
Reference in New Issue
Block a user