public SpawnTileBehaviour(Tile tile, KeyValuePairs kvp) : base(tile, kvp) { m_colour = kvp.GetString("colour", "grey"); m_immobile = kvp.GetBool("immobile", false); m_required = kvp.GetBool("required", m_colour != "grey" && !m_immobile); m_turnPreference = kvp.GetEnum("turn_preference", TurnDirection.Left); if (kvp.ContainsKey("robot_model")) { m_robotModel = kvp.GetString("robot_model"); } else { throw new IOException("robot_model not specified"); } m_robotLightColour = kvp.GetColour("light_colour", Vector3.Zero); if (m_robotLightColour.Value.Length <= 0.0f) { m_robotLightColour = null; } m_robotLightRadius = kvp.GetFloat("light_radius", 15.0f); if (m_robotLightRadius.Value <= 0.0f) { m_robotLightRadius = null; } m_robotAnimSet = kvp.GetString("robot_animset", "animation/entities/new_robot/new_robot.animset"); m_robotSoundSet = kvp.GetString("robot_soundset", "sound/new_robot/new_robot.soundset"); m_guiColour = kvp.GetColour("gui_colour", Vector3.One); }
private void Load(IFileStore store) { var kvp = new KeyValuePairs(); using (var reader = store.OpenTextFile(Path)) { kvp.Load(reader); } BackgroundColour = kvp.GetColour("background_colour", Vector3.Zero); BackgroundImage = kvp.GetString("background_image", null); AmbientColour = kvp.GetColour("ambient_colour", Vector3.One); LightColour = kvp.GetColour("light_colour", Vector3.Zero); LightDirection = kvp.GetUnitVector("light_direction", -Vector3.UnitY); Light2Colour = kvp.GetColour("light2_colour", Vector3.Zero); Light2Direction = kvp.GetUnitVector("light2_direction", -Vector3.UnitY); ModelPath = kvp.GetString("model", null); ForegroundModelPath = kvp.GetString("foreground_model", null); AnimPath = kvp.GetString("animation", null); RenderPass = kvp.GetEnum("render_pass", RenderPass.Opaque); ForegroundRenderPass = kvp.GetEnum("foreground_render_pass", RenderPass.Opaque); CastShadows = kvp.GetBool("cast_shadows", false); }
public void Reload(IFileStore store) { var kvp = new KeyValuePairs(); using (var reader = store.OpenTextFile(m_path)) { kvp.Load(reader); } Lifetime = kvp.GetFloat("lifetime", 5.0f); EmitterRate = kvp.GetFloat("emitter_rate", 1.0f); Position = kvp.GetVector("position", Vector3.Zero); PositionRange = kvp.GetVector("position_range", Vector3.Zero); Velocity = kvp.GetVector("velocity", Vector3.Zero); VelocityRange = kvp.GetVector("velocity_range", Vector3.Zero); Gravity = kvp.GetVector("gravity", new Vector3(0.0f, -9.8f, 0.0f)); Radius = kvp.GetFloat("radius", 0.125f); FinalRadius = kvp.GetFloat("final_radius", Radius); var colour = kvp.GetColour("colour", Vector3.One); var alpha = kvp.GetFloat("alpha", 1.0f); Colour = new Vector4(colour, alpha); var finalColour = kvp.GetColour("final_colour", colour); var finalAlpha = kvp.GetFloat("final_alpha", alpha); FinalColour = new Vector4(finalColour, finalAlpha); Texture = kvp.GetString("texture", "white.png"); }