Indiefreaks.Xna.Sessions.Lidgren.LidgrenSession.BeginJoin C# (CSharp) 메소드

BeginJoin() 정적인 개인적인 메소드

static private BeginJoin ( LidgrenAvailableSession availableSession, AsyncCallback callback, object asyncState ) : IAsyncResult
availableSession LidgrenAvailableSession
callback AsyncCallback
asyncState object
리턴 IAsyncResult
        internal static IAsyncResult BeginJoin(LidgrenAvailableSession availableSession, AsyncCallback callback, object asyncState)
        {
            if (availableSession.OpenPublicSlots < SessionManager.LocalPlayers.Count)
            {
                throw new CoreException("To many local players to join");
            }

            var asyncCreate = new AsynchronousJoin(Join);
            return asyncCreate.BeginInvoke(availableSession, callback, asyncState);
        }

Usage Example

예제 #1
0
        /// <summary>
        /// Sends a Join query to the Session asynchronously
        /// </summary>
        /// <param name="availableSession">The Session we are trying to join</param>
        public override void JoinSession(AvailableSession availableSession)
        {
            if (CurrentSession != null)
            {
                throw new CoreException("Session is already running");
            }

            _networkSessionLocker = JoiningSession;
            LidgrenSession.BeginJoin(availableSession as LidgrenAvailableSession, OnLidgrenSessionJoined, _networkSessionLocker);
        }