private void UpdateWindowContent()
    {
        var settingsWindow  = mTaskbar.GetWindow(UIWindowType.Settings);
        var transformWindow = mTaskbar.GetWindow(UIWindowType.Transform);
        var rigidbodyWindow = mTaskbar.GetWindow(UIWindowType.Rigidbody);
        var colliderWindow  = mTaskbar.GetWindow(UIWindowType.Collider);
        var spawnerWindow   = mTaskbar.GetWindow(UIWindowType.Spawner);

        float timeScale = Time.timeScale;

        float.TryParse(settingsWindow.GetSetContentValue("TimeScale"), out timeScale);
        Time.timeScale = timeScale;

        bool.TryParse(settingsWindow.GetSetContentValue("HighlightCollisions"), out mHighlightCollisions);

        float.TryParse(spawnerWindow.GetSetContentValue("SpawnMass", mSpawnMass.ToString()), out mSpawnMass);
        float.TryParse(spawnerWindow.GetSetContentValue("SpawnCoeffRest", mSpawnCoeffRest.ToString()), out mSpawnCoeffRest);
        float.TryParse(spawnerWindow.GetSetContentValue("SpawnCoeffFrict", mSpawnCoeffFrict.ToString()), out mSpawnCoeffFrict);
        bool.TryParse(spawnerWindow.GetSetContentValue("SpawnUseGravity", mSpawnUseGravity.ToString()), out mSpawnUseGravity);

        if (RampTransform)
        {
            float.TryParse(settingsWindow.GetSetContentValue("RampAngle"), out mRampAngle);
            var rampRot = RampTransform.eulerAngles;
            rampRot.z = -mRampAngle;
            RampTransform.eulerAngles = rampRot;
        }

        if (mSelectedObject != null)
        {
            Vector3 pos = mSelectedObject.transform.position;
            float.TryParse(transformWindow.GetSetContentValue("PosX", pos.x.ToString()), out pos.x);
            float.TryParse(transformWindow.GetSetContentValue("PosY", pos.y.ToString()), out pos.y);
            float.TryParse(transformWindow.GetSetContentValue("PosZ", pos.z.ToString()), out pos.z);
            mSelectedObject.transform.position = pos;

            Vector3 rot = mSelectedObject.transform.eulerAngles;
            float.TryParse(transformWindow.GetSetContentValue("RotX", rot.x.ToString()), out rot.x);
            float.TryParse(transformWindow.GetSetContentValue("RotY", rot.y.ToString()), out rot.y);
            float.TryParse(transformWindow.GetSetContentValue("RotZ", rot.z.ToString()), out rot.z);
            mSelectedObject.transform.eulerAngles = rot;

            Vector3 scale = mSelectedObject.transform.localScale;
            float.TryParse(transformWindow.GetSetContentValue("ScaleX", scale.x.ToString()), out scale.x);
            float.TryParse(transformWindow.GetSetContentValue("ScaleY", scale.y.ToString()), out scale.y);
            float.TryParse(transformWindow.GetSetContentValue("ScaleZ", scale.z.ToString()), out scale.z);
            mSelectedObject.transform.localScale = scale;

            if (mSelectedObject.GetComponent <PSI_Rigidbody>())
            {
                var rigidbody = mSelectedObject.GetComponent <PSI_Rigidbody>();

                Vector3 vel = rigidbody.Velocity;
                float.TryParse(rigidbodyWindow.GetSetContentValue("VelX", vel.x.ToString()), out vel.x);
                float.TryParse(rigidbodyWindow.GetSetContentValue("VelY", vel.y.ToString()), out vel.y);
                float.TryParse(rigidbodyWindow.GetSetContentValue("VelZ", vel.z.ToString()), out vel.z);
                rigidbody.Velocity = vel;

                Vector3 angVel = rigidbody.AngularVelocity;
                float.TryParse(rigidbodyWindow.GetSetContentValue("AngVelX", angVel.x.ToString()), out angVel.x);
                float.TryParse(rigidbodyWindow.GetSetContentValue("AngVelY", angVel.y.ToString()), out angVel.y);
                float.TryParse(rigidbodyWindow.GetSetContentValue("AngVelZ", angVel.z.ToString()), out angVel.z);
                rigidbody.AngularVelocity = angVel;

                float mass = rigidbody.Mass;
                float.TryParse(rigidbodyWindow.GetSetContentValue("Mass", mass.ToString()), out mass);
                rigidbody.Mass = mass;

                float coeffRest = rigidbody.CoeffOfRest;
                float.TryParse(rigidbodyWindow.GetSetContentValue("CoeffRest", coeffRest.ToString(), mNewSelectedObject), out coeffRest);
                rigidbody.CoeffOfRest = coeffRest;

                float coeffFrict = rigidbody.CoeffOfFrict;
                float.TryParse(rigidbodyWindow.GetSetContentValue("CoeffFrict", coeffFrict.ToString(), mNewSelectedObject), out coeffFrict);
                rigidbody.CoeffOfFrict = coeffFrict;

                bool.TryParse(rigidbodyWindow.GetSetContentValue("UseGravity", rigidbody.UseGravity.ToString(), mNewSelectedObject), out rigidbody.UseGravity);
            }
            else
            {
                rigidbodyWindow.ResetContent();
            }

            if (mSelectedObject.GetComponent <PSI_Collider>())
            {
                var col = mSelectedObject.GetComponent <PSI_Collider>();

                colliderWindow.GetSetContentValue("ColType", col.pType.ToString(), true);

                var colScale = col.ColliderScale;
                float.TryParse(colliderWindow.GetSetContentValue("ColScale", colScale.ToString(), mNewSelectedObject), out colScale);
                col.ColliderScale = colScale;
            }
            else
            {
                colliderWindow.ResetContent();
            }
        }
        else
        {
            transformWindow.ResetContent();
            rigidbodyWindow.ResetContent();
            colliderWindow.ResetContent();
        }

        mNewSelectedObject = false;
    }