public bool Execute() { bool executed = false; try { string jsonString = _rawText.Substring(_keyWord.Length); CharacterPositionBasicDetails charPosDetails = JsonConvert.DeserializeObject <CharacterPositionBasicDetails>(jsonString); _gameStateDetails.CharId = charPosDetails.CharId; _gameStateDetails.WmId = charPosDetails.WmId; _gameStateDetails.MapWidth = charPosDetails.MapWidth; _gameStateDetails.MapHeight = charPosDetails.MapHeight; _gameStateDetails.LocalBound = PointConverter.Point3ToVector(charPosDetails.LocalBound); _gameStateDetails.IsOnWorldMap = charPosDetails.IsOnWorldMap; _gameStateDetails.Position = PointConverter.Point3ToVector(charPosDetails.Position); //_gameStateDetails.LogCurrentState(); //for testing if (charPosDetails.IsOnWorldMap) { MainGameHandler.ChangeScene(MainGameHandler.SceneType.WorldMap); } else { MainGameHandler.ChangeScene(MainGameHandler.SceneType.LocalPlace); } executed = true; } catch (Exception exception) { _chat.UpdateLog($"Cannot execute char. basic details command: {exception.Message}"); } return(executed); }