Example #1
0
        public override async void Init(Transform parent, Saber saber)
        {
            await _gameSaberSetup.SetupTask;

            transform.SetParent(parent, false);

            var saberModel = saber.saberType == SaberType.SaberA ? _saberSet.LeftSaber : _saberSet.RightSaber;

            _saberInstance = _saberInstanceFactory.Create(saberModel);
            _saberInstance.SetParent(transform);
            _saberInstance.CreateTrail(_saberTrail);
            SetColor(_saberColor ?? _colorManager.ColorForSaberType(_saberInstance.Model.SaberSlot.ToSaberType()));

            if (_afHandler != null && AFHandler.IsValid && AFHandler.ShouldFire)
            {
                await Task.Delay(4000);

                await _afHandler.Shoot(this, saber.saberType);
            }
            else
            {
                _eventPlayer?.SetPartEventList(_saberInstance.Events, saber.saberType);
            }

            _logger.Info("Instantiated Saber");
        }
Example #2
0
        public override void Init(Transform parent, Saber saber)
        {
            var saberModel = saber.saberType == SaberType.SaberA ? _saberSet.LeftSaber : _saberSet.RightSaber;

            _saberInstance = _saberInstanceFactory.Create(saberModel);

            _saberInstance.SetParent(parent);
            _saberInstance.CreateTrail(_saberTrail.GetField <SaberTrailRenderer, SaberTrail>("_trailRendererPrefab"));
            SetColor(_saberColor ?? _colorManager.ColorForSaberType(_saberInstance.Model.SaberSlot.ToSaberType()));

            _eventPlayer?.SetPartEventList(_saberInstance.Events, saber.saberType);

            _logger.Info("Instantiated Saber");
        }
        public void ProcessSaber(SaberInstance saberObject)
        {
            var gameobject = saberObject.GameObject;

            gameobject.SetLayer <Renderer>(12);
            gameobject.GetComponentsInChildren <Collider>().Do(x => x.enabled        = false);
            gameobject.GetComponentsInChildren <AudioSource>(true).Do(x => x.volume *= _config.SaberAudioVolumeMultiplier);
            gameobject.GetComponentsInChildren <Renderer>(true).Do(x => { x.sortingOrder = 3; });

            if (gameobject.GetComponentInChildren <SFSaberSound>() is { } saberSound)
            {
                saberSound.ConfigVolume = _config.SwingSoundVolume;
            }
        }
Example #4
0
        private void CreateTrail(SaberInstance saberInstance)
        {
            _lengthSlider.RemoveEvent(SetLength);
            _widthSlider.RemoveEvent(SetWidth);
            _whitestepSlider.RemoveEvent(SetWhitestep);

            var trailData = saberInstance?.GetTrailData();

            if (trailData == null)
            {
                return;
            }

            _trailPreviewer.Create(saberInstance.GameObject.transform.parent, trailData);

            LoadFromModel(trailData);

            _lengthSlider.AddEvent(SetLength);
            _widthSlider.AddEvent(SetWidth);
            _whitestepSlider.AddEvent(SetWhitestep);

            _trailPreviewer.SetColor(_colorManager.ColorForSaberType(SaberType.SaberA));
        }
Example #5
0
 private void OnModelCompositionSet(ModelComposition composition)
 {
     _spawnedSaber?.Destroy();
     _spawnedSaber = _editorInstanceManager.CreateSaber(_saberSet.LeftSaber, _pedestal.SaberContainerTransform, true, true);
 }
Example #6
0
 public void GrabSaber(SaberInstance saberInstance)
 {
     HideHandle();
     _currentSaberInstancce = saberInstance;
     saberInstance.SetParent(GrabContainer);
 }