internal void ProcessDirective(Directive directive) { try { switch (directive.GetType().Name.ToString()) { case "ConstructGreenery": for (var i = 0; i < directive.Times; i++) { Planet.ConstructGreenery(); } break; case "CrashAsteroid": for (var i = 0; i < directive.Times; i++) { Planet.CrashAsteroid(); } break; case "PumpAquifer": for (var i = 0; i < directive.Times; i++) { Planet.PumpAquifer(); } break; } } catch (Exception) { return; } }