示例#1
0
    public void Initialize()
    {
        _cameraObject = GameObject.Find(@"Main Camera");

        if (_cameraObject != null)
        {
            _camera          = _cameraObject.GetComponent <Camera>();
            _cameraTransform = _cameraObject.transform;

            XResources.Destroy(_dummyObject);

            _dummyObject      = XResources.Load <GameObject>("Prefabs/DummyCamera", AssetType.Prefab);
            _dummyObject.name = "Dummy Camera";

            _dummyCamera = _dummyObject.transform.GetChild(0);
            _ator        = _dummyObject.GetComponent <Animator>();
            _overrideController.runtimeAnimatorController = _ator.runtimeAnimatorController;
            _ator.runtimeAnimatorController = _overrideController;

            _root_pos_inited      = false;
            _idle_root_pos_inited = false;
            _status               = XCameraExStatus.Idle;
            _status_changed       = false;
            _idle_root_rotation_y = 0;
        }
    }
示例#2
0
    private void TriggerEffect()
    {
        if (_trigger != null && !_ator.IsInTransition(0))
        {
            switch (_trigger)
            {
            case "ToIdle":
                _status = XCameraExStatus.Idle;
                _idle_root_pos_inited = false;
                break;

            case "ToEffect":
                _status = XCameraExStatus.Effect;
                break;

            case "ToDash":
                _status = XCameraExStatus.Dash;
                break;

            case "ToUltraShow":
                _status = XCameraExStatus.UltraShow;
                break;

            case "ToUltraEnd":
                _status = XCameraExStatus.UltraEnd;
                break;
            }

            XTimerMgr.singleton.RemoveTimer(_token);

            _follow_position = _motion.Follow_Position;
            _effect_axis     = _motion.Coordinate;
            _sync_begin      = _motion.AutoSync_At_Begin;
            _look_at         = _motion.LookAt_Target;

            if (_sync_begin)
            {
                AutoSync();
            }

            _ator.SetTrigger(_trigger);
            _root_pos_inited = false;
            _status_changed  = true;
            _trigger         = null;
        }
    }