public Marine(BarrackUnitBehaviorFactory barrackUnitBehaviorFactory) { name = "Marine"; moveBehavior = barrackUnitBehaviorFactory.CreateMoveBehavior(); attackBehavior = barrackUnitBehaviorFactory.CreateAttackBehavior(); Debug.Log(string.Format("{0} is created.", name)); }
protected override Unit CreateUnit(UnitType type) { Unit unit = null; BarrackUnitBehaviorFactory barrackUnitBehaviorFactory = new BarrackUnitBehaviorFactory(); if (type == UnitType.Marine) { unit = new Marine(barrackUnitBehaviorFactory); } else if (type == UnitType.Firebat) { unit = new Firebat(barrackUnitBehaviorFactory); } return(unit); }