public void UpdateTransparencyTransition(TimeUpdateEvent evt, TransitionRendererNode renderer) { TransparencyTransitionComponent transparencyTransition = renderer.transparencyTransition; transparencyTransition.CurrentTransitionTime += evt.DeltaTime; if (renderer.baseRenderer.Renderer) { float targetAlpha; if (transparencyTransition.CurrentTransitionTime < transparencyTransition.TransparencyTransitionTime) { targetAlpha = transparencyTransition.OriginAlpha + (transparencyTransition.AlphaSpeed * transparencyTransition.CurrentTransitionTime); } else { targetAlpha = transparencyTransition.TargetAlpha; if (transparencyTransition.TargetAlpha >= ClientGraphicsConstants.OPAQUE_ALPHA) { base.ScheduleEvent <TransparencyFinalizeEvent>(renderer.Entity); } else if (transparencyTransition.TargetAlpha <= ClientGraphicsConstants.TRANSPARENT_ALPHA) { renderer.baseRenderer.Renderer.enabled = false; } } renderer.transparencyTransition.CurrentAlpha = targetAlpha; TankMaterialsUtil.SetAlpha(renderer.baseRenderer.Renderer, targetAlpha); } }
public void SetTransparencyTransitionData(SetTransparencyTransitionDataEvent evt, NotTransitionRendererNode renderer) { TransparencyTransitionComponent transparencyTransition = new TransparencyTransitionComponent(); this.SetTransparencyTransitionData(evt, renderer, transparencyTransition); renderer.Entity.AddComponent(transparencyTransition); base.ScheduleEvent <TransparencyInitEvent>(renderer.Entity); }
private void SetTransparencyTransitionData(SetTransparencyTransitionDataEvent evt, RendererNode renderer, TransparencyTransitionComponent transparencyTransition) { transparencyTransition.OriginAlpha = evt.OriginAlpha; transparencyTransition.TargetAlpha = evt.TargetAlpha; transparencyTransition.TransparencyTransitionTime = evt.TransparencyTransitionTime; renderer.baseRenderer.Renderer.enabled = true; transparencyTransition.AlphaSpeed = (transparencyTransition.TargetAlpha - transparencyTransition.OriginAlpha) / transparencyTransition.TransparencyTransitionTime; transparencyTransition.CurrentAlpha = transparencyTransition.OriginAlpha; }