public ExecutionResult ExecuteEvent(int Id) { Chapter scene = chapters[iteration]; BaseEvent baseEvent = scene.SelectEvent(Id); ExecutionResult result = new ExecutionResult(); if (baseEvent == null) { return(null); } if (baseEvent.IsExecutable(TimeManager.CurrentStep, p)) { bool executed = baseEvent.Execute(p, TimeManager.CurrentStep); if (executed) { result.Success(baseEvent.EventText); this.iteration++; TimeManager.NextPart(); } else { result.Continue(baseEvent.EventText); } ReasonsToDeath r = p.IsWantToLive(); if (r == ReasonsToDeath.None) { return(result); } string deathreason = ""; switch (r) { case ReasonsToDeath.NoHappy: deathreason = "Вашому герою дуже сумно, і ніхто не в змозі" + "втримати його від стрибка з криші. Добре," + "що це всього лиш гра!"; break; case ReasonsToDeath.NoPower: deathreason = "Ваш герой відчуває неймовірну втому. Очі ..." + "зачиняються... і так важко.... хапатися..." + "за світло..."; break; case ReasonsToDeath.NoMoney: deathreason = "Вашого героя забирають до шпиталю у зв'язку" + "з гострою язвою. Вартувало б трохи зберігти грошей" + "на їжу."; break; } result.Death(deathreason, baseEvent.EventText); return(result); } else { result.Fail(); return(result); } }