コード例 #1
0
        public void NextEventInQueue()
        {
            if (eventQueue.Count == 0)
            {             // load next branch
                if (!currentBranch.connectionOutputs[0].hide)
                {
                    if (currentBranch.connectionOutputs[0].connectedToGUIDs == null ||
                        currentBranch.connectionOutputs[0].connectedToGUIDs.Count == 0)
                    {
                        throw new System.Exception("Scenimatic came to an ungraceful end!");
                    }

                    nextGUID = currentBranch.connectionOutputs[0].connectedToGUIDs[0];
                }

                LoadBranch(nextGUID);
                return;
            }

            currentEvent = eventQueue.Dequeue();
            switch (currentEvent.eventType)
            {
            case ScenimaticEvent.ScenimaticEventType.Dialog:
                dialogPanel.NextTextBlock(currentEvent.image, currentEvent.text);
                break;

            case ScenimaticEvent.ScenimaticEventType.Query:
                queryPanel.SetOptionList(currentEvent.options, 0);
                break;

            default:
                Debug.LogWarning("Event type " + currentEvent.eventType + " unrecognized or un-implemented");
                break;
            }
        }