/// <summary> /// The function called to modify the node's data whenever a node disconnects. /// </summary> /// <param name="dialogue">The dialogue data.</param> /// <param name="connectionType">The type of the connecting node.</param> /// <param name="connectionID">The id of the connected node.</param> /// <param name="connectionKnobID">The id of the connected knob.</param> /// <param name="knobID">The id of the knob.</param> /// <param name="knobType">The type of the knob.</param> public virtual void OnDisconnect(QD_Dialogue dialogue, QD_NodeType connectionType, int connectionID, int connectionKnobID, int knobID, QD_KnobType knobType) { if (Type == QD_NodeType.Speaker) { QD_DialogueEditor.db.GetSpeakerNode(ID).OnDisconnect(dialogue, connectionType, connectionID, connectionKnobID, knobID, knobType); } else if (Type == QD_NodeType.Message) { QD_DialogueEditor.db.GetMessageNode(ID).OnDisconnect(dialogue, connectionType, connectionID, connectionKnobID, knobID, knobType); } else if (Type == QD_NodeType.Conversation) { QD_DialogueEditor.db.GetConversationNode(ID).OnDisconnect(dialogue, connectionType, connectionID, connectionKnobID, knobID, knobType); } else if (Type == QD_NodeType.Choice) { QD_DialogueEditor.db.GetChoiceNode(ID).OnDisconnect(dialogue, connectionType, connectionID, connectionKnobID, knobID, knobType); } }
/// <summary> /// The function called to modify the node's data whenever a node connects. /// </summary> /// <param name="dialogue">The dialogue data.</param> /// <param name="connectionType">The type of the connecting node.</param> /// <param name="connectionID">The id of the connecting node.</param> /// <param name="connectionKnobID">The id of the connecting knob.</param> /// <param name="knobID">The id of this node's knob.</param> /// <param name="knobType">The type of this node's knob.</param> public override void OnConnect(QD_Dialogue dialogue, QD_NodeType connectionType, int connectionID, int connectionKnobID, int knobID, QD_KnobType knobType) { Data.OnConnect(dialogue, connectionType, connectionID, connectionKnobID, knobID, knobType); QD_DialogueEditor.db.DataDB.SetMessage(Data.ID, Data); if (connectionType == QD_NodeType.Speaker && knobID == 0 && knobType == QD_KnobType.Input) { QD_Node message = QD_DialogueEditor.db.GetNode(ID); QD_Knob messageKnob = message.GetKnob(QD_KnobType.Output, 0); int nextMessageID = messageKnob.Connections.Count > 0 ? messageKnob.Connections.keys[0] : -1; QD_Message nextMessage = nextMessageID != -1 ? dialogue.GetMessage(nextMessageID) : null; while (nextMessageID != -1 && nextMessage != null) { nextMessage.Speaker = connectionID; nextMessage.SpeakerName = dialogue.GetSpeaker(connectionID).Name; QD_DialogueEditor.db.DataDB.SetMessage(nextMessage.ID, nextMessage); message = QD_DialogueEditor.db.GetNode(nextMessageID); messageKnob = message.GetKnob(QD_KnobType.Output, 0); nextMessageID = messageKnob.Connections.Count > 0 ? messageKnob.Connections.keys[0] : -1; nextMessage = nextMessageID != -1 ? dialogue.GetMessage(nextMessageID) : null; } } }
/// <summary> /// The function called to modify the node's data whenever a node disconnects. /// </summary> /// <param name="dialogue">The dialogue data.</param> /// <param name="connectionType">The type of the connecting node.</param> /// <param name="connectionID">The id of the connected node.</param> /// <param name="connectionKnobID">The id of the connected knob.</param> /// <param name="knobID">The id of the knob.</param> /// <param name="knobType">The type of the knob.</param> public override void OnDisconnect(QD_Dialogue dialogue, QD_NodeType connectionType, int connectionID, int connectionKnobID, int knobID, QD_KnobType knobType) { Data.OnDisconnect(dialogue, connectionType, connectionID, connectionKnobID, knobID, knobType); QD_DialogueEditor.db.DataDB.SetChoice(Data.ID, Data); }
/// <summary> /// The function called to modify the node's data whenever a node disconnects. /// </summary> /// <param name="dialogue">The dialogue data.</param> /// <param name="connectionType">The type of the connecting node.</param> /// <param name="connectionID">The id of the connected node.</param> public override void OnDisconnect(QD_Dialogue dialogue, QD_NodeType connectionType, int connectionID) { Data.OnDisconnect(dialogue, connectionType, connectionID); QD_DialogueEditor.db.DataDB.SetMessage(Data.ID, Data); }