public Thrift.Protocol.TBase Convert(Character.AbstractBusinessObject o)
        {
            if (null == o)
            {
                return(null);
            }
            CharCounterData data = o as CharCounterData;
            CharCounterInfo info = new CharCounterInfo();

            info.CharId = data.CharId;
            if (null != data.Bit32CounterList)
            {
                info.Bit32CounterList = new List <int>(data.Bit32CounterList);
            }
            if (null != data.Bit8CounterList)
            {
                info.Bit8CounterList = new List <sbyte>(data.Bit8CounterList);
            }
            if (null != data.FlagList)
            {
                info.FlagList = new List <bool>(data.FlagList);
            }


            return(info);
        }
    private void InitData()
    {
        //char base data
        m_CharBaseData = (ConverterManager.Instance.FindConverter(typeof(CharBaseData)) as CharBaseConverter).Convert(m_CharInfo.CharBaseInfo) as CharBaseData;
        m_CharBaseData.CheckValid();


        //char counter data
        m_CharCounterData = (ConverterManager.Instance.FindConverter(typeof(CharCounterData)) as CharCounterConverter).Convert(m_CharInfo.CharCounterInfo) as CharCounterData;
        if (null == m_CharCounterData)
        {
            m_CharCounterData      = new CharCounterData(m_CharBaseData.CharId);
            m_CharCounterData.Init = false;
        }
        m_CharCounterData.CheckValid();

        //char bag data
        m_CharBagData =
            (ConverterManager.Instance.FindConverter(typeof(CharBagData)) as CharBagConverter).Convert(m_CharInfo.CharBagInfo) as CharBagData;

        if (null == m_CharBagData)
        {
            m_CharBagData      = new CharBagData(m_CharBaseData.CharId, new List <ItemInfo>());
            m_CharBagData.Init = false;
        }
        m_CharBagData.CheckValid();
        ItemManager.Instance.Initialize();


        //char mission data

        m_CharMissionData =
            (ConverterManager.Instance.FindConverter(typeof(CharMissionData)) as CharMissionConverter).Convert(m_CharInfo.CharMissionInfo) as CharMissionData;
        if (null == m_CharMissionData)
        {
            m_CharMissionData             = new CharMissionData(m_CharBaseData.CharId);
            m_CharMissionData.MissionList = new List <MissionInfo>();
            m_CharMissionData.Init        = false;
        }
        m_CharMissionData.CheckValid();
    }
        public Character.AbstractBusinessObject Convert(Thrift.Protocol.TBase o)
        {
            if (null == o)
            {
                return(null);
            }
            CharCounterInfo info = o as CharCounterInfo;
            CharCounterData data = new CharCounterData(info.CharId);

            if (null != info.Bit8CounterList)
            {
                data.Bit8CounterList = new List <sbyte>(info.Bit8CounterList);
            }
            if (null != info.Bit32CounterList)
            {
                data.Bit32CounterList = new List <int>(info.Bit32CounterList);
            }
            if (null != info.FlagList)
            {
                data.FlagList = new List <bool>(info.FlagList);
            }
            data.Init = false;
            return(data);
        }