public void SetGraphicsPreset(int value) { ChangedByPreset = true; SelectedPreset = (EffectPreset)value; switch (SelectedPreset) { case EffectPreset.LowPreset: LowPresetEvent.Invoke(); break; case EffectPreset.MediumPreset: MediumPresetEvent.Invoke(); break; case EffectPreset.HighPreset: HighPresetEvent.Invoke(); break; case EffectPreset.UltraPreset: UltraPresetEvent.Invoke(); break; default: break; } }
public override void BeforeSwitch(FageStateMachine stateMachine, string afterId) { base.BeforeSwitch(stateMachine, afterId); _effector = null; _screen = null; _blur = null; _presetFrom = null; _presetTo = null; }
public EffectPreset DumpEffect() { EffectPreset result = new EffectPreset(); result.id = "dump"; result.screenEnable = screen.enabled; result.screenSaturation = screen.screenSaturation; result.chromaticAberrationMagnetude = screen.chromaticAberrationMagnetude; result.staticMagnetude = screen.staticMagnetude; result.blurEnable = blur.enabled; result.blurSize = blur.blurSize; return(result); }
public override void SerializeStatusEffect(StatusEffect status, EffectPreset preset) { base.SerializeStatusEffect(status, preset); var disease = status as Disease; CanDegenerate = disease.CanHealByItself; StraightSleepHealTime = disease.StraightSleepHealTime; CanBeHealedBySleeping = disease.CanBeHealedBySleeping; AutoHealTime = (int)At.GetField(disease, "m_autoHealTime"); DegenerateTime = (float)At.GetField(disease, "m_degenerateTime"); DiseaseType = (Diseases)At.GetField(disease, "m_diseasesType"); }
public override void AfterSwitch(FageStateMachine stateMachine, string beforeId) { base.AfterSwitch(stateMachine, beforeId); _effector = stateMachine as CameraEffector; _screen = _effector.screen; _blur = _effector.blur; EffectRequest request = _effector.GetRequest(); if (request == null) { _effector.ReserveState("CameraEffectorIdle"); return; } _presetFrom = _effector.DumpEffect(); _presetTo = _effector.GetPreset(request.preset); if (_presetTo == null) { _effector.ReserveState("CameraEffectorIdle"); return; } if (request.second > 0) { if ((_presetFrom.blurSize != _presetTo.blurSize) && (_presetFrom.blurEnable != _presetTo.blurEnable)) { _blur.enabled = true; } if ((_presetFrom.screenSaturation != _presetTo.screenSaturation) || (_presetFrom.chromaticAberrationMagnetude != _presetTo.chromaticAberrationMagnetude) || (_presetFrom.staticMagnetude != _presetTo.staticMagnetude) && (_presetFrom.screenEnable != _presetTo.screenEnable)) { _screen.enabled = true; } LeanTween.value(_effector.gameObject, 0f, 1f, request.second).setOnUpdate(OnTweenUpdate).setOnComplete(OnTweenComplete); } else { OnTweenComplete(); } }
public virtual void SerializeStatusEffect(StatusEffect status, EffectPreset preset) { PresetID = preset?.PresetID ?? -1; Identifier = status.IdentifierName?.Trim(); IgnoreBuildupIfApplied = status.IgnoreBuildUpIfApplied; BuildupRecoverySpeed = status.BuildUpRecoverSpeed; DisplayedInHUD = status.DisplayInHud; IsHidden = status.IsHidden; Lifespan = status.StatusData.LifeSpan; RefreshRate = status.RefreshRate; LengthType = status.LengthType.ToString(); ComplicationStatusIdentifier = status.ComplicationStatus?.IdentifierName; RequiredStatusIdentifier = status.RequiredStatus?.IdentifierName; RemoveRequiredStatus = status.RemoveRequiredStatus; NormalizeDamageDisplay = status.NormalizeDamageDisplay; IgnoreBarrier = status.IgnoreBarrier; GetStatusLocalization(status, out Name, out Description); Tags = new List <string>(); status.InitTags(); var tags = (TagSource)At.GetField(status, "m_tagSource"); foreach (var tag in tags.Tags) { Tags.Add(tag.TagName); ListManager.AddTagSource(tag, Name); } // For existing StatusEffects, the StatusData contains the real values, so we need to SetValue to each Effect. var statusData = status.StatusData.EffectsData; var components = status.GetComponentsInChildren <Effect>(); for (int i = 0; i < components.Length; i++) { var comp = components[i]; if (comp && comp.Signature.Length > 0) { comp.SetValue(statusData[i].Data); } } Effects = new List <DM_EffectTransform>(); if (status.transform.childCount > 0) { var signature = status.transform.GetChild(0); if (signature) { foreach (Transform child in signature.transform) { var effectsChild = DM_EffectTransform.ParseTransform(child); if (effectsChild.ChildEffects.Count > 0 || effectsChild.Effects.Count > 0 || effectsChild.EffectConditions.Count > 0) { Effects.Add(effectsChild); } } } } }