Wintermute Engine Forum

Wintermute Engine => Technical forum => Topic started by: HelLRaiseR on June 15, 2009, 06:15:43 PM

Title: Interactions in the game
Post by: HelLRaiseR on June 15, 2009, 06:15:43 PM
I 've made a dialog box to show the speak text in "So blonde" style (Box with the actor's image, actor's name and text of the message)

This box is displayed in the screen for a specific time depending on the length of the text that show.

there are some times that the text is very long or the player read this quickly, for this I detect the SPACE key or the Left Click to hide the box.

My problem is the following:

It's interesting for me that the game don`t be interactive when the box is displayed, becouse the player will can make other actions (walk, examine, or change the scene, for example). Due to this I use Game.Interactive = false before start the dialogue.

But if I use Game.Interactive = false, the box don't receive the key and mouse events, then I can't hide the box when the player made a click or press the SPACE key.

Any idea?
Title: Re: Interactions in the game
Post by: Mnemonic on June 19, 2009, 07:40:43 AM
Perhaps if you made the dialog window exclusive (window.GoExclusive())? Then the player couldn't interact with the scene, but you'd still retain interactivity and you could handle mouse and keyboard events.
Title: Re: Interactions in the game
Post by: HelLRaiseR on June 20, 2009, 12:56:54 AM
Great, with GoExclusive() in combination with Game.Interactive = false, works ok

Thanks Mnemonic
Title: Re: Interactions in the game
Post by: Mnemonic on June 22, 2009, 07:04:09 PM
Well my idea was keeping Game.Interactive = true. The exclusive window just shields the entire scene so the player can't click anywhere outside the window.
Title: Re: Interactions in the game
Post by: HelLRaiseR on June 23, 2009, 03:15:09 PM
Ok. I understand, but... in the life of the dialogue, the actor talk, makes some actions, talk again, etc. When the dialog window is closed, I need a Game.Interactive = false and i make Game.Interactive=true before open the dialogue window again.