simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

コマンド処理の正規表現マッチング

誰かが VRM をロードしたら、コマンドを送信するようにしたけど
単なるセキュリティホールだったので消します。

消す前に動いていたコードを記録しておきます。

        public void OnSendMessage(MessageResponse response)
        {
            Debug.Log($"OnSendMessage playerName = {response.PlayerName}, userUniqueId = {response.Message}");
            if (Regex.IsMatch(response.Message, @"^\/.*"))
            {
                if (Regex.IsMatch(response.Message, @"^\/event .*"))
                {
                    string[] command = response.Message.Split(' ');
                    if(0 == string.Compare(command[1], Event_VRMLoaded))
                    {
                        var position = this.vrmRoot.transform.position;
                        this.streamingClient.SendPositionAsync(position.x, position.y, position.z);
                        var rotation = this.vrmRoot.transform.rotation;
                        this.streamingClient.SendRotationAsync(rotation.x, rotation.y, rotation.z, rotation.w);
                    }
                }
            }
        }