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