/// <summary> /// Запускает съемку клипа /// </summary> private void CreateNewClip() { if (!ConditionsCorrect()) { return; } PlayerManager.SpendMoney(_price); StatsManager.UpdateStats(); gameObject.SetActive(false); ActionProgressManager.StartAction(_duration, ActionType.NewClip, FinishClip); gameObject.GetComponentInParent <ActionsMenu>().TriggerChildVisible(); }
/// <summary> /// Запускает концерт /// </summary> private void StartConcert() { if (concertDay != 0 && DaysManager.CurrentDay - concertDay < CONCERT_DAYS_DELAY) { AlertManager.ShowMessage($"Нельзя давать концерты чаще, чем раз в {CONCERT_DAYS_DELAY} дней"); return; } if (!PlayerManager.EnoughMoney(price)) { AlertManager.ShowMessage("У вас недостаточно денег для организации концерта"); return; } PlayerManager.SpendMoney(price); StatsManager.UpdateStats(); gameObject.SetActive(false); ActionProgressManager.StartAction(CONCERT_DURATION, ActionType.Concert, FinishConcert); gameObject.GetComponentInParent <ActionsMenu>().TriggerChildVisible(); }
/// <summary> /// Запускает создание нового трэка /// </summary> private void CreateNewTrack() { ParseActionModel(); if (!CheckFeat()) { return; } if (!PlayerManager.EnoughMoney(_price)) { AlertManager.ShowMessage("У вас недостаточно денег"); return; } PlayerManager.SpendMoney(_price); StatsManager.UpdateStats(); gameObject.SetActive(false); ActionProgressManager.StartAction(_duration, ActionType.NewTrack, FinishTrack); gameObject.GetComponentInParent <ActionsMenu>().TriggerChildVisible(); }
/// <summary> /// Запускает подготовку к версусу /// </summary> private void StartVersus() { ParseActionModel(); if (lastBattleDay != 0 && DaysManager.CurrentDay - lastBattleDay < BATTLES_DELAY) { AlertManager.ShowMessage($"Нельзя участвовать в батлах чаще, чем раз в {BATTLES_DELAY} дней"); return; } if (!BattleConditionsCorrect()) { return; } if (!PlayerManager.EnoughMoney(price)) { AlertManager.ShowMessage("У вас недостаточно денег"); return; } PlayerManager.SpendMoney(price); StatsManager.UpdateStats(); gameObject.SetActive(false); ActionProgressManager.StartAction(duration, ActionType.Battle, FinishVersus); gameObject.GetComponentInParent <ActionsMenu>().TriggerChildVisible(); }
/// <summary> /// Увеличение навыка /// </summary> private void OnSkillLearn <T>(Action <T> action, T value = default(T)) { gameObject.SetActive(false); ActionProgressManager.StartAction(TRANING_DURATION, ActionType.Traning, () => action(value)); gameObject.GetComponentInParent <ActionsMenu>().TriggerChildVisible(); }