- var builder = new StringBuilder(512);
- builder.Append("ViewFrame.chunks={};\n");
- builder.AppendFormat("ViewFrame.chunks.worldSeedNum='{0}';",
- ClientAPI.World.Seed
- );
- builder.AppendFormat("ViewFrame.chunks.chunkSize={0};",
- chunkSize
- );
-
- builder.Append("ViewFrame.chunks.chunkMetadataNames=[");
- var fields = typeof(ColumnMeta).GetFields();
- var attsToSort = new List<DisplayNameAttribute>();
- // this is so gross
- foreach (var f in fields)
- {
- var att = f.GetCustomAttribute(typeof(DisplayNameAttribute));
- if (att != null)
- {
- attsToSort.Add((DisplayNameAttribute) att);
- }
-
- }
- foreach (var att in attsToSort.OrderBy(a => a.order))
- builder.AppendFormat("'{0}',", att.name);
- builder.Append("];\n");
-
- builder.Append("ViewFrame.chunks.pointsOfInterestNames=[");
- fields = typeof(PointOfInterest).GetFields();
- attsToSort = new List<DisplayNameAttribute>();
-
- foreach (var f in fields)
- {
- var att = f.GetCustomAttribute(typeof(DisplayNameAttribute));
- if (att != null)
- attsToSort.Add((DisplayNameAttribute) att);
- }
- foreach (var att in attsToSort.OrderBy(a => a.order))
- builder.AppendFormat("'{0}',", att.name);
- builder.Append("];\n");
-
- builder.Append("ViewFrame.chunks.entityOfInterestNames=[");
- fields = typeof(EntityOfInterest).GetFields();
- attsToSort = new List<DisplayNameAttribute>();
-
- foreach (var f in fields)
- {
- var att = f.GetCustomAttribute(typeof(DisplayNameAttribute));
- if (att != null)
- attsToSort.Add((DisplayNameAttribute) att);
- }
- foreach (var att in attsToSort.OrderBy(a => a.order))
- builder.AppendFormat("'{0}',", att.name);
- builder.Append("];\n");
-
- jsonPreBuilt = builder.ToString();
+ Logger.VerboseDebug("Using '{0}' style Shard Renderer", rendererName);
+ switch (rendererName)
+ {
+ case StandardRenderer.Name:
+ return new StandardRenderer(ClientAPI, Logger, this.configuration.SeasonalColors);
+
+ case AlternateRenderer.Name:
+ return new AlternateRenderer(ClientAPI, Logger, this.configuration.SeasonalColors);
+
+ case FlatRenderer.Name:
+ return new FlatRenderer(ClientAPI, Logger, this.configuration.SeasonalColors);
+
+ default:
+ throw new ArgumentOutOfRangeException("rendererName",rendererName,"That value isn't supported or known...");