;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;   Modular Simulator Controller System - Action Callbacks                ;;;
;;;                                                                         ;;;
;;;   Author.     Oliver Juwig (TheBigO)                                    ;;;
;;;   License.    (2026) Creative Commons - BY-NC-SA                        ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;-------------------------------------------------------------------------;;;
;;;                               Callback Rules                            ;;;
;;;-------------------------------------------------------------------------;;;

Assistant.Call(?function) <= Call(callAssistant, ?function)
Assistant.Call(?function, ?p1) <= Call(callAssistant, ?function, ?p1)
Assistant.Call(?function, ?p1, ?p2) <= Call(callAssistant, ?function, ?p1, ?p2)
Assistant.Call(?function, ?p1, ?p2, ?p3) <= Call(callAssistant, ?function, ?p1, ?p2, ?p3)
Assistant.Call(?function, ?p1, ?p2, ?p3, ?p4) <= Call(callAssistant, ?function, ?p1, ?p2, ?p3, ?p4)
Assistant.Call(?function, ?p1, ?p2, ?p3, ?p4, ?p5) <= Call(callAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5)
Assistant.Call(?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6) <= Call(callAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6)

Assistant.Call=(?function) <= Call=(callAssistant, ?function)
Assistant.Call=(?function, ?p1) <= Call=(callAssistant, ?function, ?p1)
Assistant.Call=(?function, ?p1, ?p2) <= Call=(callAssistant, ?function, ?p1, ?p2)
Assistant.Call=(?function, ?p1, ?p2, ?p3) <= Call=(callAssistant, ?function, ?p1, ?p2, ?p3)
Assistant.Call=(?function, ?p1, ?p2, ?p3, ?p4) <= Call=(callAssistant, ?function, ?p1, ?p2, ?p3, ?p4)
Assistant.Call=(?function, ?p1, ?p2, ?p3, ?p4, ?p5) <= Call=(callAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5)
Assistant.Call=(?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6) <= Call=(callAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6)

Assistant.Property(?function) <= Call(propertyAssistant, ?function)
Assistant.Property(?function, ?p1) <= Call(propertyAssistant, ?function, ?p1)
Assistant.Property(?function, ?p1, ?p2) <= Call(propertyAssistant, ?function, ?p1, ?p2)
Assistant.Property(?function, ?p1, ?p2, ?p3) <= Call(propertyAssistant, ?function, ?p1, ?p2, ?p3)
Assistant.Property(?function, ?p1, ?p2, ?p3, ?p4) <= Call(propertyAssistant, ?function, ?p1, ?p2, ?p3, ?p4)
Assistant.Property(?function, ?p1, ?p2, ?p3, ?p4, ?p5) <= Call(propertyAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5)
Assistant.Property(?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6) <= Call(propertyAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6)

Assistant.Property=(?function) <= Call=(propertyAssistant, ?function)
Assistant.Property=(?function, ?p1) <= Call=(propertyAssistant, ?function, ?p1)
Assistant.Property=(?function, ?p1, ?p2) <= Call=(propertyAssistant, ?function, ?p1, ?p2)
Assistant.Property=(?function, ?p1, ?p2, ?p3) <= Call=(propertyAssistant, ?function, ?p1, ?p2, ?p3)
Assistant.Property=(?function, ?p1, ?p2, ?p3, ?p4) <= Call=(propertyAssistant, ?function, ?p1, ?p2, ?p3, ?p4)
Assistant.Property=(?function, ?p1, ?p2, ?p3, ?p4, ?p5) <= Call=(propertyAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5)
Assistant.Property=(?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6) <= Call=(propertyAssistant, ?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6)

Function.Call(?function) <= Call(callFunction, ?function)
Function.Call(?function, ?p1) <= Call(callFunction, ?function, ?p1)
Function.Call(?function, ?p1, ?p2) <= Call(callFunction, ?function, ?p1, ?p2)
Function.Call(?function, ?p1, ?p2, ?p3) <= Call(callFunction, ?function, ?p1, ?p2, ?p3)
Function.Call(?function, ?p1, ?p2, ?p3, ?p4) <= Call(callFunction, ?function, ?p1, ?p2, ?p3, ?p4)
Function.Call(?function, ?p1, ?p2, ?p3, ?p4, ?p5) <= Call(callFunction, ?function, ?p1, ?p2, ?p3, ?p4, ?p5)
Function.Call(?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6) <= Call(callFunction, ?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6)

Controller.Call(?function) <= Call(callController, ?function)
Controller.Call(?function, ?p1) <= Call(callController, ?function, ?p1)
Controller.Call(?function, ?p1, ?p2) <= Call(callController, ?function, ?p1, ?p2)
Controller.Call(?function, ?p1, ?p2, ?p3) <= Call(callController, ?function, ?p1, ?p2, ?p3)
Controller.Call(?function, ?p1, ?p2, ?p3, ?p4) <= Call(callController, ?function, ?p1, ?p2, ?p3, ?p4)
Controller.Call(?function, ?p1, ?p2, ?p3, ?p4, ?p5) <= Call(callController, ?function, ?p1, ?p2, ?p3, ?p4, ?p5)
Controller.Call(?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6) <= Call(callController, ?function, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6)

Assistant.Ask(?question) <= Call(ask, ?question)
Assistant.Ask(?question, ?command) <= Call(ask, ?question, ?commaand)

Assistant.Command(?grammar) <= Call(command, ?grammar)
Assistant.Command(?grammar, ?command) <= Call(command, ?grammar, ?command)

Assistant.Speak(?message) <= Call(speakAssistant, ?message)
Assistant.Speak(?message, ?force) <= Call(speakAssistant, ?message, ?force)