/// <summary> /// クリックされた時の反応 /// </summary> /// <param name="eventData"></param> public void OnPointerDown(PointerEventData eventData) { Debug.Log("ポインタエンター来てる"); if (cube_state == CubeState.Confilm || cube_state == CubeState.Goal) { //TODO:選択失敗みたいな音を鳴らす return; } //TODO:選択した音を鳴らす CubeNotice _notice = new CubeNotice() { x_index = x_adge_no, y_index = y_adge_no, }; SelectNotice.OnNext(_notice); if (cube_state == CubeState.Normal) { cube_state = CubeState.Select; } else if (cube_state == CubeState.Select) { cube_state = CubeState.Normal; } change_material(cube_state); }
/// <summary> /// 選択状態 /// </summary> /// <param name="_notice"></param> private void select_island_parts(CubeNotice _notice) { Debug.Log("通知状態がきたよ"); StageIslandData _select = new StageIslandData() { x_index = _notice.x_index, y_index = _notice.y_index }; if (null != now_end_select_data) { //変更点がある状態か? if (false == (_select.x_index > now_end_select_data.x_index || now_end_select_data.x_index > _select.x_index || _select.y_index > now_end_select_data.y_index || now_end_select_data.y_index > _select.y_index)) { Debug.Log("差分がなかったため、追加できない。"); return; } ///すでに存在していたので、失敗 if (select_data.Exists((_serch) => _serch.x_index == _select.x_index && _serch.y_index == _select.y_index)) { Debug.Log("すでに存在しているので、失敗"); var _remove_data = select_data.Find((_serch) => _serch.x_index == _select.x_index && _serch.y_index == _select.y_index); if (null != _remove_data) { select_data.Remove(_remove_data); } return; } } SoundController.Instance.PlaySe(4); now_end_select_data = _select; select_data.Add(_select); }