/// <summary>
        /// Creates a <see cref="Controller"/> instance from the type contained in this <see cref="ControllerSkeleton"/>.
        /// </summary>
        /// <returns>Returns the created instance.</returns>
        public IController2 CreateInstance()
        {
            IController2 result = null;

            if (Controller.GetInterface("IController2", false) == null)
            {
                result = new ControllerAdapter((IController)Activator.CreateInstance(Controller));
            }
            else
            {
                result = (IController2)Activator.CreateInstance(Controller);
            }
            return(result);
        }
 public ControllerTimeoutException(string methodName, IController2 ctrlTimeout)
     : base(ctrlTimeout.ToString() + " timed out on method call to " + methodName)
 {
     this.methodName = methodName;
 }
 public NetController(Socket connection, IController2 controller)
 {
     clientSocket   = connection;
     controllerWrap = controller;
 }
 /// <summary>
 /// Constructs a Player with an ID and a name.
 /// </summary>
 /// <param name="newId">The ID number in the match</param>
 /// <param name="newName">The name of the player</param>
 public ControlledPlayer(Entity parent, string newName, IController2 cont)
     : base(parent, newName)
 {
     Controller = cont;
 }
 /// <summary>
 /// Constructs a Player with an ID and a name.
 /// </summary>
 /// <param name="newId">The ID number in the match</param>
 /// <param name="newName">The name of the player</param>
 public ControlledPlayer(Entity parent, string newName, IController2 cont)
     : base(parent, newName)
 {
     Controller = cont;
 }
 public NetController(Socket connection, IController2 controller)
 {
     clientSocket = connection;
     controllerWrap = controller;
 }
 public ControllerTimeoutException(string methodName, IController2 ctrlTimeout)
     : base(ctrlTimeout.ToString() + " timed out on method call to " + methodName)
 {
     this.methodName = methodName;
 }