Пример #1
0
        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;
        }