public override void DoAfterAction() { if (Owner.Status == ObjectStatus.Dead && _Enabled) { if (FadeTime.IsFull) { Affix = SpecialStatus.None; _Enabled = false; } else { if (FinelScale != 1) { Owner.Layout.Scale = _BaseScale * (1F - FadeTime.GetRatio() * (1F - FinelScale)); } if (FinelOpacity != 1) { Owner.DrawObject.Colors.Opacity = _BaseOpacity * (1F - FadeTime.GetRatio() * (1F - FinelOpacity)); } FadeTime.Value += Scene.SceneIntervalOfRound; } } base.DoAfterAction(); }
public override void Action() { if (DiffusionTime.IsFull) { if (FadeTime.IsFull) { Kill(null, ObjectDeadType.LifeEnd); } else { DrawObject.Colors.Opacity = FadeOpacity * (1 - FadeTime.GetRatio()); FadeTime.Value += Scene.SceneIntervalOfRound; base.Action(); } } else { Layout.Width = BaseWidth + (int)((DiffusionWidth - BaseWidth) * DiffusionTime.GetRatio()); Layout.Height = BaseHeight + (int)((DiffusionWidth - BaseWidth) * DiffusionTime.GetRatio()); DrawObject.Colors.Opacity = BaseOpacity + ((DiffusionOpacity - BaseOpacity) * DiffusionTime.GetRatio()); DiffusionTime.Value += Scene.SceneIntervalOfRound; base.Action(); } }