・前日。
0900:ミックスナッツ×2。
1200:うまかっちゃんもどき+焼き豚。
1530:パストラミ+焼き鳥+コーヒーゼリー。下痢気味で栄養が上手く吸収できてないのか腹が減るのが早いというか。空腹感とも食欲とも違う感じだが。ともあれ焼き鳥は美味かったな。皮がパリパリじゃなくてトロトロだったが、これはこれで美味いもんだな。これなら継続できそう。
1800:ミックスナッツ×2。
電解質タブレット✕3と水分1.8リットル程度。
性欲:低~高。高い時は高いが低い時は低いというそんな感じ。
筋トレ:肘膝腹筋20×3回。やはり3セット目は腹筋が痙攣するような感じがあったものの、数秒の休憩を入れて20回やった。でもまぁその後起き上がろうとした際に腹筋が軽くつるような感じがあったので、そこらへんの注意は必要だったかな。


・Unity。
なんかぼんやり考えてたが、入力まわりはViewで処理してしまって良い気もしてきた。タッチ入力とかを採用する場合はViewから入ってくるだろうしな。なので、少なくとも入力の出発点をView側に持ってくるのはアリな気がする。その後の各種判定はPresenter側に投げても良い気もするが、どうせSubscribeとかで処理が戻ってくるならView側で完結させた方が見やすいし整理されてるしバグも起こりづらい気もする。
まぁここらへんはまた明日考えよう。


・Unity。
まだ気になって軽く調べたりしたので追記。
切り分け方としては「View:見た目に関する処理」「Presenter:ロジックに関する処理」というのが目安のようなので、モードの切替と考えればPresenter側になるか。ただ、見た目の切替とするならViewもなしではないかもしれない。まぁ見た目だけでなく全般的な処理の切替ではあるのでPresenter側がやはり良いとは思うが。
といったところ。これ以上の思考はさすがに明日かな。改めて現状の実装や将来的な実装を含めてPresenterとViewの役割の明確化をしたいところ。


・求人。
なんとなくで面談とかが流れたやつの評判なりなんなりを結果的に見る形になったんだけど、わりとサ終気味というか結構急激に落ちた感じのがまぁまぁあった。面談が流れたのは単に人を増やす余裕がもうなかった可能性もあるか?であれば求人自体を取り下げそうな気もするが、でもまぁそこに受かったとて1年もしないうちに放流されてまた複数人同時で求人開始とかなるよりは現状で良かったのかもなぁ。


・睡眠時間3時間。
まさかの寝下痢で起きてしまった。寝つく際に腹の違和感がまた出てきたなとは思ってたが、正露丸を飲んでなお悪化するとは思ってなかったな。マットレスまでダメージがいかなかったのが不幸中の幸いだが、時間が時間なので洗濯機はまだ回せない。
しかしまぁこうなると正露丸は効かなかったと見るべきか。少なくとも追加の対応が必要ではあるだろう。というわけで急遽ではあるが今日は断食するか。


・下痢。
改めて原因を考えてみたが「月曜の鍋の豚肉の加熱が甘かった」のが一番大きいようには思う。というか他の原因でここまでの症状になるとは考えづらい。睡眠時間にしても冷えにしても。毎日腹巻きはしてるから、いくら冷えが強かったとしてもここまではならないはず。
ただ、腹痛も発熱もないんだよな。なので原因の特定がしづらいが、「2日間以上水様性下痢が続くようであればまず食あたり」という記述も見かけるので、こっち方面の可能性は高いとは思う。
倦怠感とかも特にないので医療機関の受診はとりあえず保留にはするものの、日曜の時点でもまだ続いてるようなら受診はした方が良いかな。
ともあれ下痢は今までヒドかったので水分と電解質の補給はちゃんとしよう。というか数をちょっと戻そう。水分自体はまぁ今まで通りでもそこまで問題ないと思うが、電解質タブレットは再び6つくらいまで戻しても良いかもしれない。


・睡眠。
さすがに起床が早いので改めて寝たいところではあるんだけど、わりとあれこれの対処でしっかり目が覚めてしまったのと、今の状態で寝るのが単純に怖くて寝づらい。今日は外出もしづらいしそもそも断食するのであれば外出する意味も薄いので今日は引きこもる形になるだろうから、いつ寝ても良い状況になるとは思う。ボーンブロスを作るのもどうかなという感じだし。


・Unity。
とりあえず現状の方針としては上記の通り「Presenter:ロジック的な処理」「View:見た目的な処理」でまとめようかと思う。
細かく見ていくと「タッチ処理」はそもそも見た目からやってくるので「Viewから始動」で良いんだけど、その後の処理は基本的にロジック的なものなので「Presenterの処理が本体」といった感じ。「ジョイパッドとかキーボードの入力」に関しては多少迷うところだが、「Presenter内で処理しつつ、タッチ処理とかと同様のところに同じ形式(たぶんSubscribe)で飛ばす」という形にするのがまとまりは良さそうかなと思う。入力系を全てViewに一旦まとめるのもナシじゃないが、将来的に「チュートリアルとか自動処理とかによる自動的な入力」とかまで考慮するとさすがにViewではない気がするしな。Viewは実際のそれが担当する表示に関連する部分のみに注力して良いかと思う。
となるとボタンによるモードの切替も「入力自体は子Presenter内で検出」「親Presenterに通知するために子View→親Viewを経由」となる、、、か???正直Viewを経由する必然性がないんだよな。可能であれば直接親Presenterに通知を飛ばしたいし、たぶん何かすればおそらく可能だろう。その方向で一旦詰めてみるか。
依存関係的には「親Viewが子Viewの持つ子Presenterに対して親Presenterの関数をねじ込む」という形にならざるを得ないか。ここらへんの接続処理ってロジック寄りに思ってたのでPresenter側の処理な気がしてたけど、改めて考えるとただの接続であってロジック的な処理とは少し毛色が違う気もする。たぶんPresenterがやってもViewがやっても良い処理なんじゃなかろうか。さすがにModelがやるのは違う気がするが、そっちはそもそも依存関係的に実行自体がムリかな。逆に言えば依存関係的にこうならざるを得ないし、その必然性によって誰が何を担当するかが自動的に決定されるのがむしろ良いようにも思う。
というわけでその方向で接続してシミュレーションフェイズ→実行フェイズの切替はできたものの、ゲームモード→エディットモードはさらにもう一段階上のStageで切り替えないといけないんだったな。これに関してはSubscribeを2つ経由する方向でも良いかな。というか、「StageとGameを接続する」のは問題ないが、「StageがGameのさらに下のSimulateと接続される」ってのは変な依存性ができてしまう感じ。StageによるGameとEditの切替はGameとEditから催促されるべきだろう。
うーん。コンストラクタで設定しないと接続が上手くいかないが、コンストラクタだとそもそもgameObjectが触れなかったりResources.Loadが呼べなかったりするな。繋ぐならAwakeで処理してそれを待機するか、あるいはコンストラクタとAwakeで処理をわけるか。ただ、接続時点で必要なものがある都合上、Awakeを待たないとムリそうかな。
で、Awakeを待つ一番簡単な方法はUniTaskを使うこと、か。入れるかぁ。
ちょっと眠くなってきたな。しかし腹の調子がまだ悪そうなので、一旦うつ伏せで寝るか。


・睡眠。
やはり寝づらいな。まぁ少しだけ休憩にはなったか?


・Unity。
というわけでUniTaskを入れるところから。
インストールまわりが上手くいかない感じだったが、実際にはインストール自体は上手くいっててアセンブリまわりの設定が抜けてただけだった。ここらへんの意識がまだまだだな。
で、とりあえずAwakeを待って正常に接続するところまで対応完了。ただ、Subscribeの解除の設定をしてないのでこのままだとエディットモードでもゲームモードのSubscribeが一通り反応してしまうので、次はそこの解除まわりの設定かな。
やはりOnPauseで入力のObservableを渡すのは微妙だな。OnPauseが入力に依存しているのはおかしい。今までの接続を考えると今回も親Viewが親Presenter→子Presenterの接続を行うべきだろう。で、Observableを持たない状態での購読の解除・再登録は難しいので、そうではなく登録したままオペレータにフラグチェックとかを追加して「購読してるけど反応はしない」みたいな状態にするべきか。フラグも単に自身のアクティブのチェックとかでも良いかもしれない。
とりあえず対応完了。別スレッドでUpdate的に回すやつだけはそのUpdate内でフラグを見ないといけない感じっぽいからそっちは一旦置いておくが、それ以外はちゃんと制御できてるはず。
これでモード切替自体は一応できたはずだから一旦コミットしとくか。
眠気が強いってほどでもないが、休憩がてら再び横にはなってみるか。寝れるなら寝て良い。外出も食事も予定はないしな。


・鍋。
初回だけの問題だとは思うんだけど、しかしボトルであれこれする際に発生した別の何かの問題だった場合には困るな。仕事期間にこの状態になってしまうと大変困る。鍋を諦める、、、というよりは鍋は帰宅後にしか食えない感じになりそうか。
加熱以外で考えられる問題としては豚肉を容器に入れて加熱する際に容器の端や箸に菌がくっついてのあれやこれやかな。下痢から回復した後に改めて鍋ボトルを試して問題ないことを確認したいわけだが、来週中には回復していてくれないと冬季休暇に差し掛かるタイミングで発生されてもやはり困るので早く回復して欲しいところ。
軽く調べた感じ「食中毒には絶食」みたいなものも見かけたので、対処としては大きく間違ってはいないはず。


・睡眠。
断続的ではあるが3時間くらいは寝れたか。時間だけならこれで一応問題ないレベルだとは思うが。


・Unity。
とりあえず続きをまた進めるか。まずはエディットモード内の遷移を先に一通り作るかな。そのあとは今回使うUIシステムの選定~単純にオンオフの動作確認をするための仮UI作成あたりまで今日できると良いなといったところ。
ここらへんはわりと単純作業だなぁ。すでにやったことのおさらいみたいな。小学校とかでやらされた漢字の10回書き取りとかそういうのを思い出す。一般化するにはまだサンプルが足りないし、実際少し違うところもあったりするので、ヘタにベースクラスを作ると二度手間になりそう。UniRxもまだ慣れてる途中だから現状は仕方ないか。
ようやく一通り作ったが、現状の作り方だとSPACEキーを1回押しただけで「ゲームモード→エディットモード」と「エディットモード→ゲームモード」が1フレームで続けて実行されてしまうな。これも排他制御に組み込もうとするとなんか厄介な形しか思いつかないので、Inputの方もアクティブかどうかを見るようにするかな。というか単純にViewがオフの時はこれもオフにすれば良さそうか。
うーん。今のPause・Resumeだと親のPauseが子に伝達されないか。しかし伝達されるようにするとActiveの管理が少し面倒になる。が、そもそも伝達されないと裏で処理が回り続けるようなことにもなるか?いや、Viewのアクティブをオペレータに組み込んでるからある程度は大丈夫か。
他との整合性を考えるとやはりInputSystem自体は常にEnableで、オペレータで排他制御する方が良さそう。
今回はBufferは使えないか。常にEnableなら結局判定は同じになるだろうし、そもそも今回はボタンのEnumが流れてくるのでボタンのオンオフは流れてこない(オンだけ流れてくる)から使えない。
一番簡単なのはボタンを押された時の処理:Hogeという呼び出しをFuga(Hoge)みたいにラップして、Fugaで同一フレームの処理を弾く感じかなぁ。
いや、Whereで共通のフラグを見ればいけるか?ていうか、独自にオペレータを追加することでそのフラグも隠すことができるか?
UniRxのオペレータの自作はまぁまぁできそうではある。が、今日やるべきことかが微妙なところ。まぁ時間はあるから今日やっても良いが、すでにあれこれ作業したので一旦休憩はしよう。


・体調。
お腹まわりはやや控え気味。まぁ単に食事してないから出すものがなくなっていってるだけだと思うが。
で、脱力感の手前みたいなものは感じる。電解質と栄養素は少し早めに摂取するか。


・Unity。
続き。
結局、フラグを見るとしても実際に処理されたかどうかは別途フラグを制御しないといけない都合上、やはりラップ方式の方がわかりやすいし制御しやすそうかな。関数名はOncePerFrameとかそんな感じになるか?
とりあえずラッパを用意する方向で実装してみたところ、正常に動くようになった。また一旦この段階でコミットしてしまうかな。
で、また休憩するか。それが終わる頃には16時か。いつもよりは早いがUnity側は今日はここまでにしとくか。明日はUIシステムの選定~仮のものを置いてオンオフ確認から。その後はModelまわりの設計からになるか、あるいはUIだけでも先に組んでしまうか。まぁ状況を見てかな。
しかしまぁここまでこれたなら今月中にエディットモードの完了もありうるな。まぁModel側がほぼ手つかずなので、そこでがっつり時間を食うことになるとは思うが。


・体調。
やはり立った時にしんどい感じもあるが、同時にちゃんと世界瞑想的な認識ができたりもする。
まぁ栄養素は欲しいなぁ。ビタミンとミネラルはサプリでなんとかなるとして、タンパク質は別途摂取しないとな。あとは脂質も欲しいが。
どうするかなぁ。基本的に今日いっぱいは断食してみる予定ではあるものの、もし体調が大きく悪化するようなら何かしらは食いたいところ。ミックスナッツだとタンパク質がちょっと足りないがバランスは悪くない。鍋の材料は揃ってるのでボトルではなくちゃんと鍋で作るのも悪くはない。魚の缶詰もあるし、なんならプロテインバーも少し余ってはいる。体調が悪い時に調理時間が長いとキツいので、手っ取り早い摂取を考えるとミックスナッツ+プロテインバーかな。その量なら精製されたタンパク質の悪影響もそんなにないかと思うし。


・睡眠。
夕寝っぽい感じで休んでた。寝れてたかどうかは微妙だが。睡眠時間自体はおそらく問題なかったが、今回は下痢と断食の影響もあったから横になる時間はそれで増えた印象。
ともあれフロー2に回せる時間は結局いつもと変わらないというかむしろちょっと減ったかもしれない。まぁ仕方なし。


・メシ。
別に空腹感が強いわけでも食欲があるわけでもないし今夜は弟は仕事だからスプラもないが、軽く食事はしてみようかな。指先が冷えてきたのを感じるし、もしここから夜中にかけて悪化してメシを食って消化が間に合わずまた夜中に、とかなると最悪だからな。それよりは対処する余地があった方が良いだろう。
で、そうなるとどうするか。体調的にはまだ調理する余裕はある。が、おそらくもともと豚肉が原因だったところに加熱したとはいえ豚肉を入れて良いのやら。あと、今回に関しては精製されてないタンパク質を入れると負荷的にしんどいかもしれない。ので、タンパク質は魚の缶詰かプロテインバーか。そこにミックスナッツを合わせることを考えると味の相性的にはプロテインバーがマシかな。
というわけでそろそろ19時といったところでそこらへんの摂取をしておこう。
ということで摂取したが、指先の冷えはだいぶ回復したな。ひとまずこれで良いか。


・予定。
明日の朝の時点で便が普通あたりまで戻ってたら徒歩川崎とかもアリだが、そうでなければ明日も断食寄りにはしたいかな。徒歩川崎する場合もあまり散策に時間はかけたくない状況。


・フロー2。
時間がなかったりメシでさらに時間が削られたりするのもあるが、やはりどうにもネタ出しモードに入りづらいか。もう少し自在に入れるようになってると仕事期間で助かるんだけどな。