private void Injecting(IStageScaler scaler, AvaterProvider avaterProvider, IAnchorTargetProvider anchorTargetProvider) { _stageScaler = scaler; _avaterProvider = avaterProvider; _anchorTargetProvider = anchorTargetProvider; _avaterProvider.OnSpawenAvater.Subscribe(go => { go.transform.SetParent(_rooTransform, false); }); //おおきさ _stageScaler.StageScale .Subscribe(x => { _rooTransform.localScale = Vector3.one * x; }); //むき(未使用) _stageScaler.StageAngle .Subscribe(x => { _rooTransform.rotation = Quaternion.AngleAxis(x, Vector3.up) * Quaternion.identity; }); // タップされた場所を基準座標にする _anchorTargetProvider.OnAncherChangedAsObservable .Subscribe(_ => { _rooTransform.position = _anchorTargetProvider.CurrentAncherTransform.position; }); }
private void Inject( IArCameraTransformProvider cameraTransformProvider, IAnchorTargetProvider anchorTargetProvider, IStageScaler stageScaler) { _target = cameraTransformProvider.CameraTransform; _anchorTargetProvider = anchorTargetProvider; _stageScaler = stageScaler; // 初期化終わったフラグ _isInitialized = true; }