public override eCharAnimationType GetIdleAnimation()
    {
        eCharAnimationType eCharAnimationType = eCharAnimationType.Stay1;

        if (base.IsBattleChar())
        {
            return(this.m_pkBattleChar.GetStayAni());
        }
        NrCharBase parentChar = base.GetParentChar();

        if (parentChar != null && !parentChar.IsSubChar)
        {
            eCharKindType charKindType = parentChar.GetCharKindType();
            if (charKindType == eCharKindType.CKT_NPC)
            {
                if (parentChar.LoadAfterAnimation != eCharAnimationType.TalkStart1 && parentChar.LoadAfterAnimation != eCharAnimationType.TalkStay1)
                {
                    eCharAnimationType = eCharAnimationType.EcoAction1;
                }
                if (!base.IsHaveAnimation(eCharAnimationType))
                {
                    eCharAnimationType = eCharAnimationType.Stay1;
                }
                NrCharKindInfo charKindInfoFromCode = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfoFromCode(base.GetCharCode());

                if (charKindInfoFromCode != null && charKindInfoFromCode.IsATB(1125899906842624L))
                {
                    eCharAnimationType = eCharAnimationType.Stay1;
                    if (!base.IsHaveAnimation(eCharAnimationType))
                    {
                        eCharAnimationType = eCharAnimationType.BStay1;
                    }
                }
            }
        }
        return(eCharAnimationType);
    }