private int CompareConnectTimeASC(NewGuildMember a, NewGuildMember b)
 {
     return(b.GetLogOffTime().CompareTo(a.GetLogOffTime()));
 }
    public static bool CurrentLocationName(NewGuildMember GuildMember, ref string strName, ref string ColorNum)
    {
        bool   result            = false;
        short  num               = GuildMember.GetChannelID();
        int    mapUnique         = GuildMember.GetMapUnique();
        string mapNameFromUnique = NrTSingleton <MapManager> .Instance.GetMapNameFromUnique(mapUnique);

        if (0 >= num || 0 >= mapUnique || mapNameFromUnique == string.Empty)
        {
            string text = string.Empty;
            if (0L < GuildMember.GetLogOffTime())
            {
                long iSec            = PublicMethod.GetCurTime() - GuildMember.GetLogOffTime();
                long totalDayFromSec = PublicMethod.GetTotalDayFromSec(iSec);
                long hourFromSec     = PublicMethod.GetHourFromSec(iSec);
                long minuteFromSec   = PublicMethod.GetMinuteFromSec(iSec);
                if (totalDayFromSec > 0L)
                {
                    text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2173");

                    NrTSingleton <CTextParser> .Instance.ReplaceParam(ref strName, new object[]
                    {
                        text,
                        "count",
                        totalDayFromSec
                    });
                }
                else if (hourFromSec > 0L)
                {
                    text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2172");

                    NrTSingleton <CTextParser> .Instance.ReplaceParam(ref strName, new object[]
                    {
                        text,
                        "count",
                        hourFromSec
                    });
                }
                else
                {
                    text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2171");

                    NrTSingleton <CTextParser> .Instance.ReplaceParam(ref strName, new object[]
                    {
                        text,
                        "count",
                        minuteFromSec
                    });
                }
            }
            else
            {
                strName = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2421");
            }
            if (GuildMember.GetConnected())
            {
                GS_NEWGUILD_MEMBER_LOG_REQ gS_NEWGUILD_MEMBER_LOG_REQ = new GS_NEWGUILD_MEMBER_LOG_REQ();
                gS_NEWGUILD_MEMBER_LOG_REQ.i16ChannelID = num;
                gS_NEWGUILD_MEMBER_LOG_REQ.i32MapUnique = mapUnique;
                TKString.StringChar(mapNameFromUnique, ref gS_NEWGUILD_MEMBER_LOG_REQ.strMapName);
                SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_NEWGUILD_MEMBER_LOG_REQ, gS_NEWGUILD_MEMBER_LOG_REQ);
            }
        }
        else
        {
            string textFromInterface = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1777");

            byte b = 200;
            num = (short)((byte)(num - (short)b));
            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref textFromInterface, new object[]
            {
                textFromInterface,
                "count",
                num
            });

            strName  = string.Format("{0}({1})", mapNameFromUnique, textFromInterface);
            ColorNum = "1104";
            result   = true;
        }
        return(result);
    }