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"); }
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; } }
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)); }
private void OnModelCompositionSet(ModelComposition composition) { _spawnedSaber?.Destroy(); _spawnedSaber = _editorInstanceManager.CreateSaber(_saberSet.LeftSaber, _pedestal.SaberContainerTransform, true, true); }
public void GrabSaber(SaberInstance saberInstance) { HideHandle(); _currentSaberInstancce = saberInstance; saberInstance.SetParent(GrabContainer); }