いや、そんなことないな
でも結局はゲームのクライアントに依存してるし良くないな
専用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モジュールでコンテキスト分離ぐらいはしたいよな
基本的にはバックエンド主権だな
とりあえずReact UIにおいてイベントリスナーやonclick =は汚いので全てのコンポーネントで必要なイベントをコンテキストでEventTargetして、コンポーネントごとにEventTarget作ろうかな
コードを見てないから本当かはわからないけど、pauseでリロードってそれ全てのインメモリ状態消えるくね?
だってバックエンドにはゲームステート全くないよな
それにSPAゲームである以上できるだけリロードは避けたいところ
あと確かオブジェクト全部threeで作ってたんよな
流石にglb 3Dモデルにしたいところ
てかよくこんな仕組みであそこまでのゲームを作れたな
これあれやな
0からElectronパッケージ作ったほうが速そう
今までのコードは移植可能
あとForgetAPI.jsはインスタンス化されたForgetAPIを返していました
これは汚いのでクラスを渡します

