예제 #1
0
        internal static void OneTimeTarget(bool ground, TargetResponseCallback onTarget, CancelTargetCallback onCancel)
        {
            if (m_Intercept && m_OnCancel != null)
            {
                m_OnCancel();
                CancelOneTimeTarget();
            }

            if (m_HasTarget && m_CurrentID != 0 && m_CurrentID != LocalTargID)
            {
                m_PreviousID     = m_CurrentID;
                m_PreviousGround = m_AllowGround;
                m_PrevFlags      = m_CurFlags;

                m_FilterCancel.Add(m_PreviousID);
            }

            m_Intercept = true;
            m_CurrentID = LocalTargID;
            m_OnTarget  = onTarget;
            m_OnCancel  = onCancel;

            m_ClientTarget = m_HasTarget = true;
            Client.Instance.SendToClient(new Target(LocalTargID, ground));
            ClearQueue();
        }
예제 #2
0
 private static void EndIntercept()
 {
     m_Intercept      = false;
     m_OnTarget       = null;
     m_OnCancel       = null;
     m_FromGrabHotKey = false;
 }
예제 #3
0
 internal static void OneTimeTarget(TargetResponseCallback onTarget, CancelTargetCallback onCancel)
 {
     OneTimeTarget(false, onTarget, onCancel);
 }
예제 #4
0
 private static void EndIntercept()
 {
     m_Intercept = false;
     m_OnTarget  = null;
     m_OnCancel  = null;
 }
예제 #5
0
        internal static void OneTimeTarget( bool ground, TargetResponseCallback onTarget, CancelTargetCallback onCancel )
        {
            if ( m_Intercept && m_OnCancel != null )
            {
                m_OnCancel();
                CancelOneTimeTarget();
            }

            if ( m_HasTarget && m_CurrentID != 0 && m_CurrentID != LocalTargID )
            {
                m_PreviousID = m_CurrentID;
                m_PreviousGround = m_AllowGround;
                m_PrevFlags = m_CurFlags;

                m_FilterCancel.Add( m_PreviousID );
            }

            m_Intercept = true;
            m_CurrentID = LocalTargID;
            m_OnTarget = onTarget;
            m_OnCancel = onCancel;

            m_ClientTarget = m_HasTarget = true;
            ClientCommunication.SendToClient( new Target( LocalTargID, ground ) );
            ClearQueue();
        }
예제 #6
0
 internal static void OneTimeTarget( TargetResponseCallback onTarget, CancelTargetCallback onCancel )
 {
     OneTimeTarget( false, onTarget, onCancel );
 }
예제 #7
0
 private static void EndIntercept()
 {
     m_Intercept = false;
     m_OnTarget = null;
     m_OnCancel = null;
 }