public string GetBehaviorConnection(BehaviorInstance outputBehavior, string outputName, uint connectionIndex)
 {
     if (IsDead())
     {
         throw new Exceptions.SimObjectPointerInvalidException();
     }
     return(Marshal.PtrToStringAnsi(InternalUnsafeMethods.BehaviorComponentGetBehaviorConnection(ObjectPtr->ObjPtr, outputBehavior.ObjectPtr->ObjPtr, outputName, connectionIndex)));
 }
 public uint GetBehaviorConnectionCount(BehaviorInstance outputBehavior, string outputName)
 {
     if (IsDead())
     {
         throw new Exceptions.SimObjectPointerInvalidException();
     }
     return(InternalUnsafeMethods.BehaviorComponentGetBehaviorConnectionCount(ObjectPtr->ObjPtr, outputBehavior.ObjectPtr->ObjPtr, outputName));
 }
 public bool ReOrder(BehaviorInstance inst, uint index)
 {
     if (IsDead())
     {
         throw new Exceptions.SimObjectPointerInvalidException();
     }
     return(InternalUnsafeMethods.BehaviorComponentReOrder(ObjectPtr->ObjPtr, inst.ObjectPtr->ObjPtr, index));
 }
 public bool Raise(BehaviorInstance outputBehavior, string outputName, uint timeDelta = 0)
 {
     if (IsDead())
     {
         throw new Exceptions.SimObjectPointerInvalidException();
     }
     return(InternalUnsafeMethods.BehaviorComponentRaise(ObjectPtr->ObjPtr, outputBehavior.ObjectPtr->ObjPtr, outputName, timeDelta));
 }
 public bool RemoveBehavior(BehaviorInstance inst, bool deleteBehavior = true)
 {
     if (IsDead())
     {
         throw new Exceptions.SimObjectPointerInvalidException();
     }
     return(InternalUnsafeMethods.BehaviorComponentRemoveBehavior(ObjectPtr->ObjPtr, inst.ObjectPtr->ObjPtr, deleteBehavior));
 }