예제 #1
0
        public override void InitializeComponent()
        {
            ObjectProtoData proto_data = ParentObject.GetCreationContext().m_proto_data;

            if (proto_data == null)
            {
                return;
            }
            var dic = proto_data.m_component_variables;

            if (dic == null)
            {
                return;
            }
            string value;

            if (dic.TryGetValue("be_killed_experience", out value))
            {
                m_be_killed_experience = int.Parse(value);
            }

            if (m_experience_level_table != null)
            {
                m_table = GetLogicWorld().GetConfigProvider().GetLevelTableData(m_experience_level_table);
                if (m_max_level > m_table.m_max_level)
                {
                    m_max_level = m_table.m_max_level;
                }
            }
        }
예제 #2
0
        public LevelTableData GetLevelTableData(int table_id)
        {
            LevelTableData level_table_data = null;

            if (!m_leveltable_data.TryGetValue(table_id, out level_table_data))
            {
                return(null);
            }
            return(level_table_data);
        }
예제 #3
0
        public FixPoint GetLevelBasedNumber(int table_id, int level)
        {
            LevelTableData level_table_data = null;

            if (!m_leveltable_data.TryGetValue(table_id, out level_table_data))
            {
                return(FixPoint.Zero);
            }
            return(level_table_data[level]);
        }
예제 #4
0
        void InitLevelTableData()
        {
            LevelTableData level_table_data = new LevelTableData();
            int            id = (int)CRC.Calculate("name1");

            level_table_data.m_max_level = 10;
            level_table_data.m_table     = new FixPoint[level_table_data.m_max_level + 1];
            level_table_data.m_table[0]  = FixPoint.Parse("0");
            level_table_data.m_table[1]  = FixPoint.Parse("0.5");
            level_table_data.m_table[2]  = FixPoint.Parse("1");
            level_table_data.m_table[3]  = FixPoint.Parse("1.5");
            level_table_data.m_table[4]  = FixPoint.Parse("2");
            level_table_data.m_table[5]  = FixPoint.Parse("2.5");
            level_table_data.m_table[6]  = FixPoint.Parse("3");
            level_table_data.m_table[7]  = FixPoint.Parse("3.5");
            level_table_data.m_table[8]  = FixPoint.Parse("4");
            level_table_data.m_table[9]  = FixPoint.Parse("4.5");
            level_table_data.m_table[10] = FixPoint.Parse("5");
            m_leveltable_data[id]        = level_table_data;

            level_table_data = new LevelTableData();
            id = (int)CRC.Calculate("name2");
            level_table_data.m_max_level = 5;
            level_table_data.m_table     = new FixPoint[level_table_data.m_max_level + 1];
            level_table_data.m_table[0]  = FixPoint.Parse("0");
            level_table_data.m_table[1]  = FixPoint.Parse("2.1");
            level_table_data.m_table[2]  = FixPoint.Parse("2.9");
            level_table_data.m_table[3]  = FixPoint.Parse("4.6");
            level_table_data.m_table[4]  = FixPoint.Parse("6.4");
            level_table_data.m_table[5]  = FixPoint.Parse("11.3");
            m_leveltable_data[id]        = level_table_data;

            level_table_data = new LevelTableData();
            id = (int)CRC.Calculate("name3");
            level_table_data.m_max_level = 3;
            level_table_data.m_table     = new FixPoint[level_table_data.m_max_level + 1];
            level_table_data.m_table[0]  = FixPoint.Parse("0");
            level_table_data.m_table[1]  = FixPoint.Parse("1");
            level_table_data.m_table[2]  = FixPoint.Parse("2");
            level_table_data.m_table[3]  = FixPoint.Parse("3");
            m_leveltable_data[id]        = level_table_data;
        }
예제 #5
0
 protected override void OnDestruct()
 {
     m_table = null;
 }