08/06/22 00:13:47 C2wggYsu
ネトゲを作ろうとして挫折した俺がnineを調べてみたよ。
URLリンク(www.fenixsoft.jp)
これを読む限り、ネットゲームを作るときの初めの面倒な処理周りはサポートされてるみたい。
これで、ネトゲ製作も敷居が下がってくれると嬉しいね。
サンプルのsample_msgserverを見てみた。
メッセージ周りは、テンプレートとクラスを用いて管理されてる。
独自ユーザメッセージの定義は、nineのユーザメッセージ用基底クラスからサブクラスを作り、
このときメッセージ識別用のIDをテンプレート引数へ指定するだけ。
特筆すべきは、このIDを以降意識する必要が無いことだと思う。
メッセージ処理関数内で、受け取ったメッセージに応じた処理へ振り分けるのだけども、この時、
テンプレートによる振り分け試行関数を、処理するメッセージ型のポインタが引数なメンバ関数ポインタを引数として呼び出す、
振り分け試行関数はこの引数から、テンプレート機能によって処理するメッセージ型のIDを得て、受け取ったメッセージのIDとの一致判定を行い、
一致している場合にのみ先のメンバ関数ポインタを呼び出すという構造になってるみたい。
この構造は書きやすくて良いなぁと思ったよ。
てかドキュメントよく見たら書いてあったね。
ただサンプルを見てから読んだほうがよく分かる気がする。