リファクタリング幻の第17回でコードを引っ掻き回した結果、PlayerShootingクラスが鬼のように見づらくなりました。今回は、リロードと武器チェンジの処理を別クラスに引っぺがし、射撃処理自体も関数化することで可読性を高めるリファクタリングを行います。どちらかというと、「こうなりました」という報告。PlayerReloadクラス今回Interfaceを練習がてら使ってみました。武器種ごとにリロードを実装するつもりだったのが結果的にReload関係のクラスは1つで済んだので、Interfaceの用途としては正しくありません。false;}}Interfaceの説明については、こちらの説明が簡潔で非常に理解しやすかったです。https://qiita.com/Akira_Kido_N/items/7cd18944173cd4cd7229イメージをつかんだらこちらを読んでより本質的な理解に進むとよいかと。https://niconare.nicovideo.jp/watch/kn3404PlayerChangeWeaponクラスswitchの中をもっと共通化できないか30秒くらい悩んでできなさそうだったのであきらめました。false;}}PlayerShootingクラス全部張ると長くなるので、UpdateとShootメソッドだけ。Shootメソッドの可読性が上がってます。//Rayの始点(マズル固定)と方向(一定範囲内でランダム)をnumRayの数だけ設定。直前に出てたものの中断と新たに表示gunParticles.Stop();gunParticles.Play();//弾道を設定//Rayの始点(マズル固定)と方向(一定範囲内でランダム)をnumRayの数だけ設定。maxAmmo;}リファクタリングはうまくはまるとパズルを解いたような快感がありますね。漫画やゲームの整理が昔から好きだったのでその楽しさにも似てるかも。コメントをキャンセルメールアドレスが公開されることはありません。