忘却森のMODを作ろう! (+クライアントのバグ修正)

いや、そんなことないな
でも結局はゲームのクライアントに依存してるし良くないな
専用initのjs作るか

でもnpm使いたいよな
僕のgiteaで型定義作るか

とりあえず内部のインポートをrequireからesmインポートに
つまりmodもesmにするわけ
これによってexport defaultが行けるようになりますね!
あと全ての処理がフロントエンドな上Node統合されていたのでセキュリティがあまりにも終わってる
IPCで明確な分離をします
あと同様にMODを作りやすくするために専用ビルダーを作ろうかな
ちなみにフロントエンドはバニラにしちゃったけどあとでReactにしようかな

あと独自のFogetAPI作ろうかな
3.0.0-ce
これは今までは関数だったけどクラスにします!!

えっと、ミスをしてました。configが../../../api/forget-api.d.tsではなく../../api/forget-api.d.tsになってました
追記:実を言うとこのことはちがくて、そもそもd.tsファイルがありませんでした。

ちなみにバグ取り&TS化の変更中の小話
game.jsのTHREE変数ってどこから来たんだって思ってたんです
その時はバックエンドだと思ってたから
だからまあmain.jsを見てみたらNode統合だったんですよ
まあ開発時には便利だけど普通にTS開発において邪魔でしかないから直したいところ

ちなみにこのエラーはMODじゃなくてクライアントだからそれは関係ないかな

とりあえずReact化していくぅ!

これあれやな、メインゲームロジックってForgetAPIを土台にして作ってるのか

AIに作らせてるせいで意味不明な作り方してるなマジで…
将来のメンテナのことは考えましょう!

UIは比較的グルーピングされてて綺麗だけどね

とりあえずフロントエンド側のReactはカスタムイベント登録してmain.tsxにgame.tsに値するフロントエンド側スクリプトを定義やな
あとMODごとにVMモジュールでコンテキスト分離ぐらいはしたいよな
基本的にはバックエンド主権だな


pの値は常にPromiseなので意味のないifですね
多分修正していくうちに無意味な修正が来てしまったんでしょう!


なぜイベントリスナーを使わないんだ…

とりあえずReact UIにおいてイベントリスナーやonclick =は汚いので全てのコンポーネントで必要なイベントをコンテキストでEventTargetして、コンポーネントごとにEventTarget作ろうかな

コードを見てないから本当かはわからないけど、pauseでリロードってそれ全てのインメモリ状態消えるくね?
だってバックエンドにはゲームステート全くないよな
それにSPAゲームである以上できるだけリロードは避けたいところ

あと確かオブジェクト全部threeで作ってたんよな
流石にglb 3Dモデルにしたいところ

てかよくこんな仕組みであそこまでのゲームを作れたな

これあれやな
0からElectronパッケージ作ったほうが速そう
今までのコードは移植可能

あとForgetAPI.jsはインスタンス化されたForgetAPIを返していました
これは汚いのでクラスを渡します