Differential D4333 Diff 19020 ps/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
Show First 20 Lines • Show All 334 Lines • ▼ Show 20 Lines | GuiInterface.prototype.GetEntityState = function(player, ent) | ||||
if (cmpUpgrade) | if (cmpUpgrade) | ||||
ret.upgrade = { | ret.upgrade = { | ||||
"upgrades": cmpUpgrade.GetUpgrades(), | "upgrades": cmpUpgrade.GetUpgrades(), | ||||
"progress": cmpUpgrade.GetProgress(), | "progress": cmpUpgrade.GetProgress(), | ||||
"template": cmpUpgrade.GetUpgradingTo(), | "template": cmpUpgrade.GetUpgradingTo(), | ||||
"isUpgrading": cmpUpgrade.IsUpgrading() | "isUpgrading": cmpUpgrade.IsUpgrading() | ||||
}; | }; | ||||
const cmpResearcher = Engine.QueryInterface(ent, IID_Researcher); | |||||
if (cmpResearcher) | |||||
ret.researcher = { | |||||
"technologies": cmpResearcher.GetTechnologiesList(), | |||||
"techCostMultiplier": cmpResearcher.GetTechCostMultiplier() | |||||
}; | |||||
let cmpStatusEffects = Engine.QueryInterface(ent, IID_StatusEffectsReceiver); | let cmpStatusEffects = Engine.QueryInterface(ent, IID_StatusEffectsReceiver); | ||||
if (cmpStatusEffects) | if (cmpStatusEffects) | ||||
ret.statusEffects = cmpStatusEffects.GetActiveStatuses(); | ret.statusEffects = cmpStatusEffects.GetActiveStatuses(); | ||||
let cmpProductionQueue = Engine.QueryInterface(ent, IID_ProductionQueue); | let cmpProductionQueue = Engine.QueryInterface(ent, IID_ProductionQueue); | ||||
if (cmpProductionQueue) | if (cmpProductionQueue) | ||||
ret.production = { | ret.production = { | ||||
"entities": cmpProductionQueue.GetEntitiesList(), | |||||
"technologies": cmpProductionQueue.GetTechnologiesList(), | |||||
"techCostMultiplier": cmpProductionQueue.GetTechCostMultiplier(), | |||||
"queue": cmpProductionQueue.GetQueue(), | "queue": cmpProductionQueue.GetQueue(), | ||||
"autoqueue": cmpProductionQueue.IsAutoQueueing() | "autoqueue": cmpProductionQueue.IsAutoQueueing() | ||||
}; | }; | ||||
const cmpTrainer = Engine.QueryInterface(ent, IID_Trainer); | |||||
if (cmpTrainer) | |||||
ret.trainer = { | |||||
"entities": cmpTrainer.GetEntitiesList() | |||||
}; | |||||
let cmpTrader = Engine.QueryInterface(ent, IID_Trader); | let cmpTrader = Engine.QueryInterface(ent, IID_Trader); | ||||
if (cmpTrader) | if (cmpTrader) | ||||
ret.trader = { | ret.trader = { | ||||
"goods": cmpTrader.GetGoods() | "goods": cmpTrader.GetGoods() | ||||
}; | }; | ||||
let cmpFoundation = QueryMiragedInterface(ent, IID_Foundation); | let cmpFoundation = QueryMiragedInterface(ent, IID_Foundation); | ||||
if (cmpFoundation) | if (cmpFoundation) | ||||
▲ Show 20 Lines • Show All 319 Lines • ▼ Show 20 Lines | GuiInterface.prototype.GetStartedResearch = function(player) | ||||
let cmpTechnologyManager = QueryPlayerIDInterface(player, IID_TechnologyManager); | let cmpTechnologyManager = QueryPlayerIDInterface(player, IID_TechnologyManager); | ||||
if (!cmpTechnologyManager) | if (!cmpTechnologyManager) | ||||
return {}; | return {}; | ||||
let ret = {}; | let ret = {}; | ||||
for (let tech of cmpTechnologyManager.GetStartedTechs()) | for (let tech of cmpTechnologyManager.GetStartedTechs()) | ||||
{ | { | ||||
ret[tech] = { "researcher": cmpTechnologyManager.GetResearcher(tech) }; | ret[tech] = { "researcher": cmpTechnologyManager.GetResearcher(tech) }; | ||||
let cmpProductionQueue = Engine.QueryInterface(ret[tech].researcher, IID_ProductionQueue); | const cmpResearcher = Engine.QueryInterface(ret[tech].researcher, IID_Researcher); | ||||
if (cmpProductionQueue) | if (cmpResearcher) | ||||
{ | { | ||||
const research = cmpProductionQueue.GetQueue().find(item => item.technologyTemplate === tech); | const research = cmpResearcher.GetResearchingTechnologyByName(tech); | ||||
ret[tech].progress = research.progress; | ret[tech].progress = research.progress; | ||||
ret[tech].timeRemaining = research.timeRemaining; | ret[tech].timeRemaining = research.timeRemaining; | ||||
ret[tech].paused = research.paused; | ret[tech].paused = research.paused; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
ret[tech].progress = 0; | ret[tech].progress = 0; | ||||
ret[tech].timeRemaining = 0; | ret[tech].timeRemaining = 0; | ||||
▲ Show 20 Lines • Show All 1,269 Lines • ▼ Show 20 Lines | GuiInterface.prototype.CanAttack = function(player, data) | ||||
return cmpAttack && cmpAttack.CanAttack(data.target, data.types || undefined); | return cmpAttack && cmpAttack.CanAttack(data.target, data.types || undefined); | ||||
}; | }; | ||||
/* | /* | ||||
* Returns batch build time. | * Returns batch build time. | ||||
*/ | */ | ||||
GuiInterface.prototype.GetBatchTime = function(player, data) | GuiInterface.prototype.GetBatchTime = function(player, data) | ||||
{ | { | ||||
let cmpProductionQueue = Engine.QueryInterface(data.entity, IID_ProductionQueue); | return Engine.QueryInterface(data.entity, IID_Trainer)?.GetBatchTime(data.batchSize) || 0; | ||||
if (!cmpProductionQueue) | |||||
return 0; | |||||
return cmpProductionQueue.GetBatchTime(data.batchSize); | |||||
}; | }; | ||||
GuiInterface.prototype.IsMapRevealed = function(player) | GuiInterface.prototype.IsMapRevealed = function(player) | ||||
{ | { | ||||
return Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager).GetLosRevealAll(player); | return Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager).GetLosRevealAll(player); | ||||
}; | }; | ||||
GuiInterface.prototype.SetPathfinderDebugOverlay = function(player, enabled) | GuiInterface.prototype.SetPathfinderDebugOverlay = function(player, enabled) | ||||
▲ Show 20 Lines • Show All 164 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator