void SendInput(BaseEventData e, GameInputState state) { var pe = (PointerEventData)e; var pos = _cameraView.ScreenToWorldPoint(pe.position); //前回がUpだったか、押されたタイミング if (_model.State == GameInputState.PointerUp || state == GameInputState.PointerDown) { Debug.Log("Reset"); _before = pe.position; _model.DownPos = pe.position; _model.WorldDownPos = pos; } if (state == GameInputState.PointerDown) { //downの時のみ判定 var mode = InputMode.MoveCamera; if (_mapPlaceUseCase.SelectedTile != null) { mode = InputMode.PlaceTile; } _model.InputMode = mode; } _model.Delta = pe.delta; _model.WorldDelta = pos - _cameraView.ScreenToWorldPoint(_before); _model.CurrentPos = pe.position; _model.WorldCurrentPos = pos; _model.State = state; _inputManager.InputOnGame(_model); _before = pe.position; }