protected override Monster createMonster(MonsterFactoryParameter param) { //...此处省略可能的初始化工作 MonsterAFacotryParameter A_param = param as MonsterAFacotryParameter; return(new MonsterA() { Weapon = A_param.Weapon, Name = A_param.Name }); }
public static IObservable <T> GetMonsterFactory <T>(MonsterFactoryParameter param) where T : Monster { mMonsterFactoryDic[typeof(T)].SetFactory(param); return(mMonsterFactoryDic[typeof(T)].FactoryObservable.Select(m => m as T)); }
protected abstract Monster createMonster(MonsterFactoryParameter param);
public void SetFactory(MonsterFactoryParameter param) { mParam = param; }