/// <summary> /// Execute the machine to process its contents /// </summary> public void Execute() { // get the asset type var type = AssetConverter.ExtractType(_asset); // switch execution based on the asset type switch (type) { case Data.AssetType.Surface: Execute_Surface(); break; case Data.AssetType.Prop: Execute_Prop(); break; case Data.AssetType.Plant: Execute_Prop(); break; default: throw new ArgumentOutOfRangeException(); } }