GFAgent/GFAgentmod.bas

Attribute VB_Name = "GFAgentmod"
Option Explicit
'(c)2005 by Louis.
Dim AgentObject As New Agent
Dim AgentInitializedFlag As Boolean

Public Function GFAgent_Initialize() As Boolean
    On Error GoTo Error:
    If AgentInitializedFlag = False Then
        AgentInitializedFlag = True
        AgentObject.Connected = True
        Call AgentObject.Characters.Load("Merlin")
    End If
    GFAgent_Initialize = True
    Exit Function
Error:
    GFAgent_Initialize = False
    Exit Function
End Function

Public Function GFAgent_Show(Optional ByVal LanguageID As Long = &H409) As Boolean
    On Error GoTo Error:
    AgentObject.Characters("Merlin").SoundEffectsOn = True
    AgentObject.Characters("Merlin").LanguageID = LanguageID '&H409: English, &H407: German
    Call AgentObject.Characters.Character("Merlin").Show
    GFAgent_Show = True
    Exit Function
Error:
    GFAgent_Show = False
    Exit Function
End Function

Public Function GFAgent_Hide() As Boolean
    On Error GoTo Error:
    Call AgentObject.Characters.Character("Merlin").StopAll
    Call AgentObject.Characters.Character("Merlin").Hide
    GFAgent_Hide = True
    Exit Function
Error:
    GFAgent_Hide = False
    Exit Function
End Function

Public Function GFAgent_Speak(ByVal SpeechText As String) As Boolean
    On Error GoTo Error:
    Dim Temp As Long
    Do 'cut out |, mysterious things happen if this char's to be spoken
        Temp = InStr(1, SpeechText, "|", vbBinaryCompare)
        If Temp < 1 Then Exit Do
        SpeechText = Left$(SpeechText, Temp ‑ 1) + Mid$(SpeechText, Temp + 1)
    Loop
    Call AgentObject.Characters.Character("Merlin").StopAll
    Call AgentObject.Characters.Character("Merlin").Speak(SpeechText)
    GFAgent_Speak = True
    Exit Function
Error:
    GFAgent_Speak = False
    Exit Function
End Function

Public Function GFAgent_IsSpeaking() As Boolean
    'GFAgent_IsSpeaking = AgentObject.Characters.Character("Merlin").Active
End Function

Public Function GFAgent_Terminate() As Boolean
    On Error GoTo Error:
    Call GFAgent_Hide
    Call AgentObject.Characters.Unload("Merlin")
    GFAgent_Terminate = True
    Exit Function
Error:
    GFAgent_Terminate = False
    Exit Function
End Function


[END OF FILE]