Base Material: Extracted function for accessing the player's base material

Reduces duplicate code.
alut-include-path
Mark 2017-01-06 15:23:23 +01:00
parent 32245bfb20
commit 65850d4015
1 changed files with 18 additions and 18 deletions

View File

@ -34,59 +34,59 @@ static const BASEMATERIAL_ProductionRate = 2160;
global func GetBaseMaterial(int player, id material, int index, int category)
{
var base = FindObject(Find_ID(Library_BaseMaterial), Find_AnyLayer(), Find_Owner(player));
if (!base)
base = CreateObject(Library_BaseMaterial, 0, 0, player);
var base = Library_BaseMaterial->GetBaseMaterialManager(player);
if (base)
return base->GetBaseMat(material, index, category);
}
global func SetBaseMaterial(int player, id material, int amount)
{
var base = FindObject(Find_ID(Library_BaseMaterial), Find_AnyLayer(), Find_Owner(player));
if (!base)
base = CreateObject(Library_BaseMaterial, 0, 0, player);
var base = Library_BaseMaterial->GetBaseMaterialManager(player);
if (base)
return base->SetBaseMat(material, amount);
}
global func DoBaseMaterial(int player, id material, int change)
{
var base = FindObject(Find_ID(Library_BaseMaterial), Find_AnyLayer(), Find_Owner(player));
if (!base)
base = CreateObject(Library_BaseMaterial, 0, 0, player);
var base = Library_BaseMaterial->GetBaseMaterialManager(player);
if (base)
return base->DoBaseMat(material, change);
}
global func GetBaseProduction(int player, id material, int index, int category)
{
var base = FindObject(Find_ID(Library_BaseMaterial), Find_AnyLayer(), Find_Owner(player));
if (!base)
base = CreateObject(Library_BaseMaterial, 0, 0, player);
var base = Library_BaseMaterial->GetBaseMaterialManager(player);
if (base)
return base->GetBaseProd(material, index, category);
}
global func SetBaseProduction(int player, id material, int amount)
{
var base = FindObject(Find_ID(Library_BaseMaterial), Find_AnyLayer(), Find_Owner(player));
if (!base)
base = CreateObject(Library_BaseMaterial, 0, 0, player);
var base = Library_BaseMaterial->GetBaseMaterialManager(player);
if (base)
return base->SetBaseProd(material, amount);
}
global func DoBaseProduction(int player, id material, int change)
{
var base = FindObject(Find_ID(Library_BaseMaterial), Find_AnyLayer(), Find_Owner(player));
if (!base)
base = CreateObject(Library_BaseMaterial, 0, 0, player);
var base = Library_BaseMaterial->GetBaseMaterialManager(player);
if (base)
return base->DoBaseProd(material, change);
}
/*-- Definition Interface --*/
protected func GetBaseMaterialManager(int player)
{
var base = FindObject(Find_ID(Library_BaseMaterial), Find_AnyLayer(), Find_Owner(player));
if (!base)
{
base = CreateObject(Library_BaseMaterial, 0, 0, player);
}
return base;
}
/*-- Object Interface --*/
protected func Initialize()