public void RestoreState(object state)
    {
        SerializeableVector3 pos = (SerializeableVector3)state;

        if (pos != null)
        {
            transform.position = pos.GetVector3();
        }
    }