private void Motion(ComponentPosition positions, Vector3 velocity, Geometry geom, Vector3 objPos, string collisionType, WallCollisions wallCol)
        {
            Vector3 newpos = positions.Position;
            Vector3 newvel = velocity * 15;

            newpos += newvel * GameScene.dt;
            checkCollsion(newpos, geom, objPos, collisionType, ref velocity, wallCol);


            if (hit != true && wallCol.getlength() == i)
            {
                positions.Position += (velocity * GameScene.dt);
            }
            else if (wallCol.getlength() == i)
            {
                velocity           *= -1;
                positions.Position += (velocity * GameScene.dt);
                hit = false;
            }
        }
        private void Motion2(ComponentPosition positions, Vector3 velocity, Geometry geom, Vector3 objPos, string collisionType, WallCollisions wallCol)
        {
            Vector3 player = ((ComponentPosition)playerpos).Position;
            Vector3 newpos = positions.Position;

            /*Vector3 pos = Vector3.Normalize(newpos);
             *
             * float dot = Vector3.Dot(pos, player);
             *
             * if (dot >= player.X)
             * {
             *  velocity.X = dot;
             *  newpos += velocity * GameScene.dt;
             *  checkCollsion(newpos, geom, objPos, collisionType, ref velocity, wallCol);
             * }
             * if (dot >= player.Z)
             * {
             *  velocity.Z = -10;
             *  newpos += velocity * GameScene.dt;
             *  checkCollsion(newpos, geom, objPos, collisionType, ref velocity, wallCol);
             *
             * }*/

            Vector3 playerposv = ((ComponentPosition)playerpos).Position;

            Vector3 newvel;

            if (playerposv.X > newpos.X)
            {
                velocity.X = 8;
            }

            if (playerposv.X < newpos.X)
            {
                velocity.X = -8;
            }

            if (playerposv.Z < newpos.Z)
            {
                velocity.Z = -8;
            }
            if (playerposv.Z > newpos.Z)
            {
                velocity.Z = 8;
            }

            newvel  = velocity * 15;
            newpos += newvel * GameScene.dt;

            checkCollsion(newpos, geom, objPos, collisionType, ref velocity, wallCol);
            PlayerHit((ComponentPosition)Ghostpos, (ComponentPosition)playerpos, wallCol);

            if (hit != true && wallCol.getlength() == i)
            {
                positions.Position += (velocity * GameScene.dt);
            }
            else if (wallCol.getlength() == i)
            {
                velocity           *= -10;
                positions.Position += (velocity * GameScene.dt);
            }
        }