public void PLay(AnimationData inData) { if (_animationData == inData) { throw new Exception($"Animation Data must be not null !"); } _animationData = inData; _currentFrame = _animationData.GetRange().x; _frameDuration = _animationData.duration / _animationData.spriteSource.Length; _timeCounter = 0f; DrawFrame(); // -------------------------------------------------------------------------------- // Play sfx (per loop) // -------------------------------------------------------------------------------- if (!_animationData.perFrame && _animationData.concreteFrame == 0 && _animationData.sfx != SoundList.None) { SystemFacade.Sounds.PlaySfx(_animationData.sfx); } _isRun = true; OnPlayEvent?.Invoke(this._animationData); }
public void CopyFrom(TweenParam param) { Type = param.Type; Identifier = param.Identifier; CopyFromToValueFrom(param); CurveMode = param.CurveMode; CurveTarget = param.CurveTarget; Curve = param.Curve; CurveX = param.CurveX; CurveY = param.CurveY; CurveZ = param.CurveZ; CurveW = param.CurveW; PlayType = param.PlayType; EaseType = param.EaseType; LoopCount = param.LoopCount; Duration = param.Duration; Interval = param.Interval; SpeedBased = param.SpeedBased; StartDelay = param.StartDelay; AutoPlay = param.AutoPlay; UpdateType = param.UpdateType; TimeScale = param.TimeScale; TimeSmooth = param.TimeSmooth; SelfScale = param.SelfScale; AutoKill = param.AutoKill; WorldSpace = param.WorldSpace; ColorLerpMode = param.ColorLerpMode; ColorBlockType = param.ColorBlockType; PathMode = param.PathMode; ShakeArgs = param.ShakeArgs; ResourcesIndex = param.ResourcesIndex; ResourcesKey = param.ResourcesKey; OnPlay = param.OnPlay; OnStop = param.OnStop; OnValueFloat = param.OnValueFloat; OnValueVector2 = param.OnValueVector2; OnValueVector3 = param.OnValueVector3; OnValueColor = param.OnValueColor; }
void Start() { OnPause = new OnPauseEvent(); OnPlay = new OnPlayEvent(); OnMusicLoad = new OnMusicLoadEvent(); ViewRect = BaseWindow.WindowRectTransform; UiWidth = ViewRect.rect.width; if (LimSystem.ChartContainer == null) { return; } if (LimSystem.ChartContainer.ChartLoadResult.isBackgroundVideoDetected) { InitializeVideo(); return; } UsePreciseMode(); }
void Update() { switch (currentState) { case States.Start: OnStartEvent.Invoke(); break; case States.Playing: OnPlayEvent.Invoke(); break; case States.End: OnEndEvent.Invoke(); break; default: throw new ArgumentOutOfRangeException(); } }
private void PlayEvent(EventData eventInfo) { OnPlayEvent?.Invoke(eventInfo.Type, eventInfo); }