// Use this for initialization void Start() { // ステージ番号をリーダーに設定 StageNoReader.Instance.ChangeStageNo = _stageNo; // 始めはマウスカーソルを隠す Cursor.visible = false; // モード切り替え //ホイールでも切り替えられるようにしました(Koshida) this.LateUpdateAsObservable() .Where(_ => CheckState()) .Where(_ => Input.GetKeyDown(KeyCode.Z) || Input.GetAxis("Mouse ScrollWheel") != 0.0f) .Subscribe(_ => { // 現在のモード ModeChanger.MODE mode = ModeChanger.Instance.Mode; // ゲームモード ⇒ コントロールモード(オブジェクト選択なし) if (mode == ModeChanger.MODE.GAME) { mode = ModeChanger.MODE.OBJECT_CONTROL; } else if (mode == ModeChanger.MODE.OBJECT_CONTROL || mode == ModeChanger.MODE.OBJECT_CONTROL_SELECTED) { mode = ModeChanger.MODE.GAME; } // モード切り替え if (mode != ModeChanger.Instance.Mode) { ModeChanger.Instance.Mode = mode; } }); }
// オブジェクトの影モード設定 public void SetObjectShadowMode() { // 現在のモード ModeChanger.MODE mode = ModeChanger.Instance.Mode; foreach (Transform obj in _stageObjects) { // ゲームモードかクリアモードならShadowOnlyにし、それ以外はOnにする if (mode == ModeChanger.MODE.GAME || mode == ModeChanger.MODE.CLEAR) { obj.GetComponent <MeshRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly; } else { obj.GetComponent <MeshRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On; } } }