Customize Quest Log Window

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
Arctichorse9
Posts: 25
Joined: Wed Sep 25, 2024 11:26 pm
Location: New York City
Contact:

Customize Quest Log Window

Post by Arctichorse9 »

Hi. For some reason, I'm having trouble customizing the Quest Log Window. All I can get is this. I've tried so many different things. Any help is appreciated.
Screenshot_20241111-072536.png
Screenshot_20241111-072536.png (99.9 KiB) Viewed 158 times
User avatar
Tony Li
Posts: 22085
Joined: Thu Jul 18, 2013 1:27 pm

Re: Customize Quest Log Window

Post by Tony Li »

Hi,

I suggest these steps:

1. Identify an existing quest log window prefab that's roughly similar to what you want -- for example the Basic Standard UI Quest Log Window. Duplicate it and move the duplicate to your own folder.

2. Inspect your Dialogue Manager prefab/GameObject's Instantiate Prefabs component. Assign your quest log window prefab in place of the Basic Standard UI Quest Log Window entry in the Prefabs list.

3. Customize the appearance of your prefab. Make sure to assign all of the fields in the StandardUIQuestLogWindow component.
Arctichorse9
Posts: 25
Joined: Wed Sep 25, 2024 11:26 pm
Location: New York City
Contact:

Re: Customize Quest Log Window

Post by Arctichorse9 »

Yes. You gave me this advice in a different thread here and I tried to follow it but I couldn't open the log at all or froze. Somehow I'm missing something.

Where does the background image come from and where do the text colors come from? The log itself? Can I use that prefab above and change the background and text colors? That's what I've been trying to do and failing.

If I make the Quest Log prefab a child of the Dialogue Manager, do I delete the 3rd entry for Instantiate Prefabs (which caused me to freeze) or just leave it blank?

I should have posted this in that other thread. Sorry. Thanks so much.
User avatar
Tony Li
Posts: 22085
Joined: Thu Jul 18, 2013 1:27 pm

Re: Customize Quest Log Window

Post by Tony Li »

Hi,
Arctichorse9 wrote: Wed Nov 13, 2024 1:37 pmWhere does the background image come from and where do the text colors come from? The log itself? Can I use that prefab above and change the background and text colors? That's what I've been trying to do and failing.
The main background image is in the Main Panel GameObject's Image component.

The main content panel's image is in the Main Content Panel GameObject's Image component.

The main content panel has two subpanels: Quest Selection Panel and Quest Details Panel. The quest log window's StandardUIQuestLogWindow component points to several "template" GameObjects that are children of the Quest Selection Panel and Quest Details Panel. When the quest log window repaints itself, it instantiates copies of these templates into the subpanels as needed.
Arctichorse9 wrote: Wed Nov 13, 2024 1:37 pmIf I make the Quest Log prefab a child of the Dialogue Manager, do I delete the 3rd entry for Instantiate Prefabs (which caused me to freeze) or just leave it blank?
Delete it. Technically, if it's blank it will do nothing, but in that case you might as well delete it to keep the Prefabs list tidy without any unassigned elements.
Arctichorse9
Posts: 25
Joined: Wed Sep 25, 2024 11:26 pm
Location: New York City
Contact:

Re: Customize Quest Log Window

Post by Arctichorse9 »

Thank you so much for the detailed reply.
User avatar
Tony Li
Posts: 22085
Joined: Thu Jul 18, 2013 1:27 pm

Re: Customize Quest Log Window

Post by Tony Li »

Glad to help!
Arctichorse9
Posts: 25
Joined: Wed Sep 25, 2024 11:26 pm
Location: New York City
Contact:

Re: Customize Quest Log Window

Post by Arctichorse9 »

My Quest Log Window is conquered, however, when its open, the player can still walk.

Using on screen arrow buttons on Android.

Any advice, is much appreciated. Thanks so much.
User avatar
Tony Li
Posts: 22085
Joined: Thu Jul 18, 2013 1:27 pm

Re: Customize Quest Log Window

Post by Tony Li »

Hi,


Here are two way you can handle it:

1. Tick the quest log window's Pause On Open checkbox. This will pause the game while the quest log window is open.

2. Or add a script to the quest log window that uses its onOpen and onClose UnityEvents, such as:

Code: Select all

public class PausePlayerDuringQuestLogWindow : MonoBehaviour
{
    void Start()
    {
        var questLogWindow = GetComponent<StandardUIQuestLogWindow>();
        questLogWindow.onOpen.AddListener(PausePlayer);
        questLogWindow.onClose.AddListener(UnpausePlayer);
    }
    void PausePlayer()
    {
        // Your code here to pause the player.
    }
    void UnpausePlayer()
    {
        // Your code here to unpause the player.
    }
}
Post Reply