public void Translate(bool bImmediate = false)
        {
            if (!bImmediate && Duration > 0)
            {
                //TODO:
                _sm.StartCoroutine(TranslateTo(Duration));
                return;
            }

            _sm.ChangeState(Dest);
        }