private void AddFireWorks(Vector2 point, Color color, float size) { Game.AddFireWorks(point, color, size); var f = new RushFireWork(point, color, size); var s = f.Compare(CurrentFireWork); var ms = MiniScore.GetMiniScoreFor(s); int sc = MiniScore.GetScoreFor(ms); ScoreParticles.Add(new MiniScore { Score = ms, Location = point, Fade = new Tween(new TimeSpan(0, 0, 0, 1), 1, 0) }); if (sc == MiniScore.GetScoreFor(MiniScores.PERFECT)) { Multiplier++; if (Multiplier > 3) { Multiplier = 3; } MultiplierTween.Reset(); } Score += sc * (Multiplier + 1); var pTime = new TimeSpan(MiniScore.GetTimeFor(MiniScore.GetMiniScoreFor(s)).Ticks *(Multiplier + 1)); if (pTime > TimeSpan.Zero) { TimeParticles.Add(new TimeParticle { Time = float.Parse(pTime.Seconds + ((pTime.Milliseconds > 0)?"." + pTime.Milliseconds:"")), Location = point, Fade = new Tween(new TimeSpan(0, 0, 0, 6), 1, 0) }); } TTL += pTime; if (TTL > CurrentTTL) { if (TTL > MaxTTL) { TTL = MaxTTL; CurrentTTL = TTL; } else { CurrentTTL = TTL; } } RSG = PlayState.ADD; }
private void AddFireWorks(Vector2 point, Color color, float size) { if (CurrentMap.Events.Count <= RecordEvents.Count) { return; } Game.AddFireWorks(point, color, size); var f = new FireWork(point, color, size, CurrentMap.Complete); var s = f.Compare(CurrentMap.Events[RecordEvents.Count]); ScoreParticles.Add(new MiniScore { Score = MiniScore.GetMiniScoreFor(s), Location = point, Fade = new Tween(new TimeSpan(0, 0, 0, 1), 1, 0) }); RecordEvents.Add(f); Score += MiniScore.GetScoreFor(MiniScore.GetMiniScoreFor(s)); }