概要
構想に近づけるため、最初のステップを踏みます
simplestar-tech.hatenablog.com
右クリックすると無限に 2 x 2 のプリズムを配置する現在
これを右クリック中 R Ctrl キーを押すと、プリズム A, プリズム B と切り替わり
その時に右クリックを終了するとプリズムが配置されるというもの
実装イメージ
新しい InputAction をこうやって使う感じかな
this.modeAction.performed += ctx => { if (this.locatingFlag) { // 配置モードを切り替える this.mode++; if (Mode.Max == this.mode) { this.mode = Mode.Cube; } } };
事前配置は完成
そのまま配置すると、キューブが置かれてしまった
それもそのはず、配置時にモードは渡っていない
カーソルが当たっているときに正しくキューブが出てこない
なんのこっちゃですが、見た目がおかしい不具合あり
直した
配置時に配置モードを利用する
// 対象キューブ表面を適当なブロックに var sideTypeA = SideType.Air; var sideTypeB = SideType.Air; switch (this.mode) { case Mode.Cube: sideTypeA = SideType.Frost; sideTypeB = SideType.Frost; break; case Mode.SideA: sideTypeA = SideType.Frost; break; case Mode.SideB: sideTypeB = SideType.Frost; break; default: break; } var chunkInt3 = this.cubeDataWorld.CubePositionToChunkInt3(this.cubeCenter); this.cubeDataWorld.SetCubeData(this.cubeCenter, chunkInt3, CubeCategoryType.Basic, this.preLocateCubeRotationType, sideTypeA, sideTypeB); Destroy(this.preLocateCubeObject); this.preLocateCubeObject = null;
これでいいのかな?
なんか不具合
メッシュオブジェクトの作り方に問題がありそう
そう、オフセットの問題だった、解決
ということでできたー!
小ゴール達成なので、次に進めます