Esempio n. 1
0
 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);
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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");
        }