public void Update_Main() { UpdateTime(); UpdateForms(); if (WarningMessages.Count == 0 && !FatalError) { FadeTo(LevelMultiform.MultiformName); } else { if ((KeyboardInput.IsPressed(C) && KeyboardInput.IsReleased(CTRL)) || (KeyboardInput.IsReleased(C) && KeyboardInput.IsPressed(CTRL))) { var messages = new List<string>(WarningMessages); if (FatalError) { messages.Insert(0, ErrorMessage); } Clipboard.SetText(String.Join("\n", messages)); GetForm(PressToCopyMessageFormName).AddEffector(new FadeOutEffector(15)); // Setting this adds a MESSAGES_COPIED_MESSAGE TextForm, since it activates // the if (AtFrame(TimeOfMessagesCopied)) if statement below. TimeOfMessagesCopied = LocalFrame + 20; } if (MouseInput.IsReleased(DemeterEngine.Input.MouseButtons.Left)) { if (FatalError) { FadeTo(LevelSelectMultiform.MultiformName); } else { FadeTo(LevelMultiform.MultiformName); } } } for (int i = 0; i < RegisteredTextForms.Count; i++) { var textForm = RegisteredTextForms[i]; if (AtFrame((int)(textForm.Position.Y / 5f))) { textForm.AddEffector(new FadeInEffector(15)); } } if (AtFrame(TimeOfMessagesCopied)) { var pos = GetForm<TextForm>(PressToCopyMessageFormName).Position; var newForm = new TextForm( MESSAGES_COPIED_MESSAGE, Assets.LevelLoad.Fonts.PlainMessage, pos, Color.TransparentBlack); newForm.AddEffector(new FadeInEffector(15)); RegisterForm(newForm); } }