Beispiel #1
0
        public async Task <bool> Init(Saber saber)
        {
            _siraSaber = _saberFactory.Create();

            OriginalSaberModel = await GetSaberModel(saber);

            if (!OriginalSaberModel)
            {
                Object.DestroyImmediate(_siraSaber.gameObject);
                return(false);
            }

            _siraSaber.ChangeType(saber.saberType);
            _siraSaber.Saber.ChangeColorInstant(_colorManager.ColorForSaberType(saber.saberType));

            TrickModel      = _siraSaber.gameObject;
            _saberTransform = _siraSaber.transform;

            TrickModel.name = $"TrickModel {saber.saberType}";
            AddRigidbody(TrickModel);

            TrickModel.SetActive(false);

            if (!_config.HitNotesDuringTrick || _isMultiplayer)
            {
                _siraSaber.Saber.disableCutting = true;
            }

            return(true);
        }
Beispiel #2
0
        public Transform CreateSaber(SaberType saberType, Vector3 pos, Quaternion rot)
        {
            var parent = new GameObject("SaberTester_" + saberType).transform;

            parent.localPosition = new Vector3(0, 0.6f, 0);
            parent.localRotation = Quaternion.Euler(90, 0, 0);
            _saber = _saberFactory.Spawn(saberType);
            _saber.transform.SetParent(parent, false);

            return(parent);
        }
        public async void Initialize()
        {
            await Task.Delay(1000);

            _audioController.Pause();

            if (!_initData.CreateTestingSaber)
            {
                return;
            }

            _movementContainer = new GameObject("SaberTester").transform;
            _movementContainer.localPosition = new Vector3(0, 1.5f, 0);
            _saber = _saberFactory.Create();
            _saber.transform.SetParent(_movementContainer, false);

            SharedCoroutineStarter.instance.StartCoroutine(AnimationCoroutine());
        }