protected override void InitializeParticles (FreezingArcher.Renderer.RendererContext rc)
        {
            if (SceneObject != null) 
            {
                SceneObject.BillboardTexture = rc.CreateTexture2D ("BillboardTexture_Sphere_Particles_" + DateTime.Now.Ticks, true, "Content/Particles/particle_01.png");
            }
                
            foreach (Particle par in Particles) 
            {
                par.Reset ();

                float invert1 = Convert.ToBoolean (rnd.Next (0, 2)) ? -1 : 1;
                float invert2 = Convert.ToBoolean (rnd.Next (0, 2)) ? -1 : 1;

                par.Position = (new FreezingArcher.Math.Vector3 ((float)rnd.NextDouble () * 3f * invert1, (float)rnd.NextDouble() * 2f, 
                    (float)rnd.NextDouble () * 3f * invert2)) + SpawnPosition;

                par.Velocity = new FreezingArcher.Math.Vector3 (0.0f, (float)rnd.NextDouble () * 5f, 0);
                par.Mass = 1.0f;
                par.Size = new Vector2(0.9f, 0.9f);
                par.Color = new FreezingArcher.Math.Color4(0.1f, 0.1f , 0.1f, 1f);
                par.Life = 1.2f;
                par.LifeTime = 3.0f * (float)rnd.NextDouble();
            }


        }
Esempio n. 2
0
 public void SwitchItemsToGameState(GameState source, GameState dest, FreezingArcher.Content.Game game)
 {
     foreach (ItemComponent ic in items.Values)
     {
         game.MoveEntityToGameState (ic.Entity, source, dest);
     }
 }
Esempio n. 3
0
        public override void Init (FreezingArcher.Messaging.MessageProvider messageProvider, Entity entity)
        {
            base.Init (messageProvider, entity);

            NeededComponents = new[] { typeof (TransformComponent), typeof (RoachGroupComponent) };

            onPositionChangedHandler = pos => {
                var roachGroup = Entity.GetComponent<RoachGroupComponent>();
                if (roachGroup != null)
                    roachGroup.RoachGroup.Position = pos;
            };
        }
Esempio n. 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FreezingArcher.Input.InputManager"/> class.
 /// </summary>
 internal InputManager (MessageProvider messageProvider, FreezingArcher.Core.Application app)
 {
     Logger.Log.AddLogEntry (LogLevel.Fine, ClassName, "Creating new input manager");
     Keys = new List<KeyboardInput> ();
     Mouse = new List<MouseInput> ();
     MouseMovement = Vector2.Zero;
     MouseScroll = Vector2.Zero;
     OldMousePosition = Vector2.Zero;
     KeyRegistry.Instance = new KeyRegistry (messageProvider);
     Stopwatch = new Stopwatch();
     messageProvider += this;
     ApplicationInstance = app;
 }
        protected override void InitializeParticles (FreezingArcher.Renderer.RendererContext rc)
        {
            foreach (Particle par in Particles) 
            {
                par.Reset ();

                float invert1 = Convert.ToBoolean (rnd.Next (0, 2)) ? -1 : 1;
                float invert2 = Convert.ToBoolean (rnd.Next (0, 2)) ? -1 : 1;

                par.Position = (new FreezingArcher.Math.Vector3 ((float)rnd.NextDouble () * 0.8f * invert1, 0.0f, 
                    (float)rnd.NextDouble () * 0.8f * invert2)) + SpawnPosition;

                //par.Velocity = (new FreezingArcher.Math.Vector3 ((float)rnd.NextDouble () * 10.5f, (float)rnd.NextDouble () * 10.5f, (float)rnd.NextDouble () * 10.5f))*invert;
                par.Mass = 1.0f;
                par.Size = new FreezingArcher.Math.Vector2(1.3f, 0.7f);
                par.Color = new FreezingArcher.Math.Color4(0.4f, 0.4f , 0.0f, 0.01f);
                par.Life = 1.2f;
                par.LifeTime = 20.0f * (float)rnd.NextDouble();
            }
        }
Esempio n. 6
0
        public override bool Init(FreezingArcher.Core.Application app)
        {
            base.Init(app);

            SimpleMaterial = new SimpleMaterial();
            SimpleMaterial.Init(this);

            GwenRenderer = new Gwen.Renderer.FreezingArcherGwenRenderer(this);
            Skin = new Gwen.Skin.TexturedBase(GwenRenderer, "lib/UI/Skins/NoWayOutSkin.png");
            Canvas = new Gwen.Control.Canvas(Skin);
            _PrivateCanvas = Canvas;

            return true;
        }
Esempio n. 7
0
 public override void ConsumeMessage (FreezingArcher.Messaging.Interfaces.IMessage msg)
 {
 }
Esempio n. 8
0
        public void SwitchGameState(GameState source, GameState dest, FreezingArcher.Content.Game game)
        {
            GameState = dest;

            inventory.SwitchItemsToGameState (source, dest, game);
        }
Esempio n. 9
0
        /// <summary>
        /// Generates the input message.
        /// </summary>
        /// <returns>The input message.</returns>
        /// <param name="keys">Keys.</param>
        /// <param name="mouse">Mouse.</param>
        /// <param name="mouseMovement">Mouse movement.</param>
        /// <param name="mousePosition">Mouse position.</param>
        /// <param name="mouseScroll">Mouse scroll.</param>
        /// <param name="deltaTime">Delta time.</param>
        internal InputMessage GenerateInputMessage (List<KeyboardInput> keys, List<MouseInput> mouse,
            Vector2 mouseMovement, Vector2 mousePosition, Vector2 mouseScroll, TimeSpan deltaTime, FreezingArcher.Core.Application app)
        {
            string s;

            foreach (KeyboardInput i in keys)
            {
                if (i == null)
                    continue;
                
                if (CachedConfig.TryGetValue (i.Key, out s))
                {
                    if (i == null)
                        continue;
                    
                    if (CachedConfig.TryGetValue (i.Key, out s))
                    {
                        if (s != null)
                           i.KeyAction = s;
                    }
                }
            }

            return new InputMessage (keys, mouse, mouseMovement, mousePosition, mouseScroll, deltaTime, app);
        }
Esempio n. 10
0
        public void SetUniform(int location, FreezingArcher.Math.Matrix value)
        {
            float[] data = { value.M11, value.M12, value.M13, value.M14, 
                value.M21, value.M22, value.M23, value.M24, 
                value.M31, value.M32, value.M33, value.M34,
                value.M41, value.M42, value.M43, value.M44};

            GL.ProgramUniformMatrix4(ID, location, 1, false, data); 
        }
Esempio n. 11
0
 public void SetUniform(int location, FreezingArcher.Math.Color4 value)
 {
     GL.ProgramUniform4(ID, location, value.R, value.G, value.B, value.A);
 }