// Process Scene config file line private void process_config_line(String line) { if (string.IsNullOrEmpty(line)) { return; } string[] items = line.Split((char[])null, StringSplitOptions.RemoveEmptyEntries); //Split(' '); if (items.Length == 0) { return; } // Create a queue of the items Queue <string> item_queue = new Queue <string>(items); string cmd = item_queue.Dequeue(); if (cmd.Length == 0) { return; // No length } if (cmd[0] == '#' || cmd == "##") { return; // Comment } // Parse Commands if (cmd == "display_x") { viewport_width = Util.get_int(item_queue); Util.alert(MODULE + "Display_x: " + viewport_width); viewport_changed = true; Width = viewport_width; } else if (cmd == "display_y") { viewport_height = Util.get_int(item_queue); Util.alert(MODULE + "Display_y: " + viewport_height); viewport_changed = true; Height = viewport_height; } else if (cmd == "display_sync") { v_sync = Util.get_int(item_queue); Util.alert(MODULE + "V_sync: " + v_sync); viewport_changed = true; VSync = v_sync > 0 ? VSyncMode.On : VSyncMode.Off; } else if (cmd == "background") { if (items.Length < 4) { Util.alert("Background command expects 4 parameters "+ items.Length); return; } Color4 color = Util.get_color(item_queue); renderer.set_background(color); } else // Parse Commands if (cmd == "camera") { if (items.Length < 4) { Util.alert("Camera command expects 4 parameters "+ items.Length); return; } Util.alert(MODULE + "Loading Camera " + items[1]); renderer.set_camera_pos(Util.get_vector(item_queue)); } else if (cmd == "lightsrc") { LightSrc l = new LightSrc(); if (!l.load_from_config(item_queue)) { renderer.add_light_src(l); } } else if (cmd == "texture") { Texture t = new Texture(); if (!t.load_from_config(item_queue)) { renderer.add_texture(t); } } else if (cmd == "material") { Material m = new Material(); if (!m.load_from_config(item_queue)) { renderer.add_material(m); } } else if (cmd == "geometry") { Geometry g = new Geometry(); if (!g.load_from_config(item_queue)) { renderer.add_geometry(g); } } else // Parse Commands if (cmd == "model") { MotionObject m = new MotionObject(); if (!m.load_from_model_config(item_queue)) { objects.Add(m); } } else { Util.error(MODULE + "Unknown config command: " + cmd); } }
public void add_light_src(LightSrc l) { light_sources.Add(l); }