/// <summary> /// Rafraichi un calque /// </summary> /// <param name="layer"></param> /// <param name="main"></param> private void RefreshLayer(VO_Layer layer, bool main, bool moveOrAnimation) { //Decors foreach (VO_StageDecor item in layer.ListDecors) { Draw(SpriteManager.GetScreenSprite(item.Id)); } //Animations foreach (VO_StageAnimation item in layer.ListAnimations) { VO_AnimatedSprite anim = _Service.DrawAnimated(item); if (anim != null) { Draw(anim, _Service.GetRatioFromMatrix(new Point(item.Location.X, item.Location.Y), _ProjectData.Resolution.MatrixPrecision), moveOrAnimation); } if (moveOrAnimation && anim.CurrentSpriteIndex == 0 && anim.ReadyToExecScript) { _Service.ExecuteAnimationScript(item, Enums.TriggerExecutionType.BeginingAnimation); anim.ReadyToExecScript = false; } else if (moveOrAnimation && anim.CurrentSpriteIndex == anim.SpritesCount - 1 && anim.ReadyToExecScript) { _Service.ExecuteAnimationScript(item, Enums.TriggerExecutionType.EndingAnimation); anim.ReadyToExecScript = false; } } }