我無法設計一個遊戲對象倉庫好傢伙:自動化對象庫的遊戲
class ObjectRepository
{
private readonly LevelType _levelType;
private readonly BaseObject[] _darkForestObjects = new BaseObject[]
{ new DarkForestTreeA(), new DarkForestTreeB(), new DarkForestTreeC() };
private readonly BaseObject[] _lightForestObjects = new BaseObject[]
{ new LightForestTreeA(), new LightForestTreeB(), new LightForestTreeC() };
public ObjectRepository(LevelType lt)
{
_levelType = lt;
}
public BaseObject GetObject(int obj)
{
if (obj < 0 || obj > _darkForestObjects.Length)
{
Debug.LogError("Object does not exist.");
return null;
}
switch (_levelType)
{
case LevelType.DarkForest:
return _darkForestObjects[obj];
case LevelType.LightForest:
return _lightForestObjects[obj];
}
return null;
}
}
public enum LevelType
{
DarkForest = 0,
LightForest = 1,
}
我尋找這個自動化自動化class.By它的方式,我的意思是我不要我不想每次創建一個派生自BaseObject的新對象進入Repository類並修改數組。這似乎並不自然。任何人都可以指出我對自動化的建議嗎?
我不確定我是否理解這個問題。您希望由系統自動程序存儲庫,但「自動化倉庫」 _doesn't_自動意味着包括存儲庫的集合在新的'BaseObject'實例?那麼你在試圖自動化什麼? –
我必須承認我和@BrianS有同樣的問題。如果可能的話,我會要求你少用特定的代碼,並描述你實際上想要做什麼。讓我想試試:你想,只要創建一個新的BaseObject派生的對象,將自動添加到您的收藏庫?另外,你認爲數組操作可能有點笨重? – OnoSendai