public void End(Castle.HitType type, float level, bool success) { Color levelColor = UpdateLevel(level); StopAllCoroutines(); panelAnimation = HidePanel(true, levelColor); StartCoroutine(panelAnimation); if (success) { msgAnimation = ShowMessage("Success", goodColor, true); } else { msgAnimation = ShowMessage("Failure", badColor, true); } StartCoroutine(msgAnimation); }
public void Hit(Castle.HitType type, int step, float level, bool off) { state = Castle.PlayerState.Invoking; UpdateLevel(level); currentStep = step; if (msgAnimation != null) { StopCoroutine(msgAnimation); } Color dotColor = badColor; switch (type) { case Castle.HitType.Perfect: dotColor = perfectColor; msgAnimation = ShowMessage("Perfect", perfectColor, false); break; case Castle.HitType.Good: dotColor = goodColor; msgAnimation = ShowMessage("Good", goodColor, false); break; case Castle.HitType.TooLate: dotColor = regularColor; msgAnimation = ShowMessage("Too Late", regularColor, false); break; case Castle.HitType.TooSoon: dotColor = regularColor; msgAnimation = ShowMessage("Too Soon", regularColor, false); break; case Castle.HitType.Wrong: dotColor = badColor; msgAnimation = ShowMessage("Wrong", badColor, false); break; case Castle.HitType.Miss: dotColor = badColor; msgAnimation = ShowMessage("Miss", badColor, false); break; } if (!off) { dots[currentStep].color = dotColor; if (currentStep % 8 == 0) { hits[currentStep].color = barColor; } else if (currentStep % 2 == 1) { hits[currentStep].color = eigthColor; } else { hits[currentStep].color = forthColor; } StartCoroutine(msgAnimation); } }