private static void Cities(ICityBuilder builder)
 {
     builder.WithFriendlyCityManagementOnly<City>()
            .WithProductionAccumulation<City>()
            .WithFixedGeneratedProduction<City>()
            .WithNoCityGrowth<City>();
 }
        public static ICommand Create(string commandName, ICityBuilder cityBuilder)
        {
            var commandType = Assembly
                .GetExecutingAssembly()
                .GetTypes()
                .FirstOrDefault(type => type.CustomAttributes.Any(a => a.AttributeType == typeof(CommandAttribute)) &&
                                        type.Name.Equals(commandName));

            if (commandType == null)
            {
                throw new CommandNotImplementedExcepton($"'{commandName}' command is not implemented yet.");
            }

            ICommand command = Activator.CreateInstance(commandType, cityBuilder) as ICommand;

            return command;
        }
Beispiel #3
0
 public BuildDirector(ICityBuilder builder)
 {
     this.builder = builder;
 }
Beispiel #4
0
 public Populate(ICityBuilder cityBuilder)
     : base(cityBuilder)
 {
 }
 protected CommandBase(ICityBuilder cityBuilder)
 {
     this.CityBuilder = cityBuilder;
 }
Beispiel #6
0
 public Create(ICityBuilder cityBuilder) 
     : base(cityBuilder)
 {
 }
Beispiel #7
0
 public Status(ICityBuilder cityBuilder) 
     : base(cityBuilder)
 {
 }
Beispiel #8
0
 public Exit(ICityBuilder cityBuilder) 
     : base(cityBuilder)
 {
 }