public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("config_int", out value))
            {
                m_int = int.Parse(value);
            }
            if (variables.TryGetValue("config_fp", out value))
            {
                m_fp = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("config_string", out value))
            {
                m_string = value;
            }
            if (variables.TryGetValue("config_bool", out value))
            {
                m_bool = bool.Parse(value);
            }
            if (variables.TryGetValue("config_crc", out value))
            {
                m_crcint = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("config_formula", out value))
            {
                m_formula.Compile(value);
            }
        }
예제 #2
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("object_type_id", out value))
            {
                m_object_type_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_proto_id", out value))
            {
                m_object_proto_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_distance", out value))
            {
                m_object_distance = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("init_count", out value))
            {
                m_init_count = int.Parse(value);
            }
            if (variables.TryGetValue("max_count", out value))
            {
                m_max_count = int.Parse(value);
            }
            if (variables.TryGetValue("update_interval", out value))
            {
                m_update_interval = FixPoint.Parse(value);
            }
        }
예제 #3
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("born_generator_id", out value))
            {
                m_born_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("die_generator_id", out value))
            {
                m_die_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("killer_generator_id", out value))
            {
                m_killer_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("life_time", out value))
            {
                m_life_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("hide_delay", out value))
            {
                m_hide_delay = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("delete_delay", out value))
            {
                m_delete_delay = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("can_resurrect", out value))
            {
                m_can_resurrect = bool.Parse(value);
            }
        }
예제 #4
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("damage_type", out value))
            {
                m_damage_type_id = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("damage_amount", out value))
            {
                m_damage_amount.Compile(value);
            }
            if (variables.TryGetValue("damage_render_effect", out value))
            {
                m_damage_render_effect_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("damage_sound", out value))
            {
                m_damage_sound_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("period", out value))
            {
                m_period = FixPoint.Parse(value);
            }
        }
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("object_type_id", out value))
            {
                m_object_type_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_proto_id", out value))
            {
                m_object_proto_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_life_time", out value))
            {
                m_object_life_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("generator_id", out value))
            {
                m_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("offset_x", out value))
            {
                m_offset.x = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("offset_y", out value))
            {
                m_offset.y = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("offset_z", out value))
            {
                m_offset.z = FixPoint.Parse(value);
            }
        }
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("gathering_type", out value))
            {
                m_target_gathering_param.m_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("gathering_param1", out value))
            {
                m_target_gathering_param.m_param1 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("gathering_param2", out value))
            {
                m_target_gathering_param.m_param2 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("gathering_faction", out value))
            {
                m_target_gathering_param.m_faction = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("gathering_category", out value))
            {
                m_target_gathering_param.m_category = (int)CRC.Calculate(value);
            }
        }
예제 #7
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("ext_x", out value))
            {
                m_extents.x = FixPoint.Parse(value);
            }
            if (dic.TryGetValue("ext_y", out value))
            {
                m_extents.y = FixPoint.Parse(value);
            }
            if (dic.TryGetValue("ext_z", out value))
            {
                m_extents.z = FixPoint.Parse(value);
            }
        }
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("time", out value))
            {
                m_time = FixPoint.Parse(value);
            }
        }
예제 #9
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("delay_time", out value))
            {
                m_delay_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("render_effect", out value))
            {
                m_render_effect_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("object_type_id", out value))
            {
                m_object_type_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_proto_id", out value))
            {
                m_object_proto_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_life_time", out value))
            {
                m_object_life_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("generator_id", out value))
            {
                m_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("offset_x", out value))
            {
                m_offset.x = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("offset_y", out value))
            {
                m_offset.y = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("offset_z", out value))
            {
                m_offset.z = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("combo_type", out value))
            {
                m_combo_type_crc = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("combo_attack_cnt", out value))
            {
                m_combo_attack_cnt = int.Parse(value);
            }
            if (variables.TryGetValue("combo_interval", out value))
            {
                m_combo_interval = FixPoint.Parse(value);
            }
        }
예제 #10
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("max_mana", out value))
            {
                m_current_max_mana = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("current_mana", out value))
            {
                m_current_mana = FixPoint.Parse(value);
            }
        }
예제 #11
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("max_speed", out value))
            {
                MaxSpeed = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("avoid_obstacle", out value))
            {
                m_avoid_obstacle = bool.Parse(value);
            }
        }
예제 #12
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("max_health", out value))
            {
                MaxHealth = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("current_health", out value))
            {
                CurrentHealth = FixPoint.Parse(value);
            }
        }
예제 #13
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("attack_speed_rate", out value))
            {
                AttackSpeedRate = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("cooldown_reduce_rate", out value))
            {
                CooldownReduceRate = FixPoint.Parse(value);
            }
        }
예제 #14
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("born_generator_id", out value))
            {
                m_born_generator_cfgid = int.Parse(value);
            }
            if (dic.TryGetValue("die_generator_id", out value))
            {
                m_die_generator_cfgid = int.Parse(value);
            }
            if (dic.TryGetValue("killer_generator_id", out value))
            {
                m_killer_generator_cfgid = int.Parse(value);
            }
            if (dic.TryGetValue("life_time", out value))
            {
                m_life_time = FixPoint.Parse(value);
            }
            SetLifeTime(m_life_time);

            EffectManager effect_manager = GetLogicWorld().GetEffectManager();

            if (m_born_generator_cfgid != 0)
            {
                m_born_generator = effect_manager.CreateGenerator(m_born_generator_cfgid, GetOwnerEntity());
            }
            if (m_die_generator_cfgid != 0)
            {
                m_die_generator = effect_manager.CreateGenerator(m_die_generator_cfgid, GetOwnerEntity());
            }
            if (m_killer_generator_cfgid != 0)
            {
                m_killer_generator = effect_manager.CreateGenerator(m_killer_generator_cfgid, GetOwnerEntity());
            }
        }
예제 #15
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("generator_cfgid", out value))
            {
                m_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("combo_count", out value))
            {
                m_combo_count = int.Parse(value);
            }
            if (variables.TryGetValue("combo_interval", out value))
            {
                m_combo_interval = FixPoint.Parse(value);
            }
        }
예제 #16
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("ext_x", out value))
            {
                m_extents.x = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("ext_y", out value))
            {
                m_extents.y = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("ext_z", out value))
            {
                m_extents.z = FixPoint.Parse(value);
            }
        }
예제 #17
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("x", out value))
            {
                m_current_position.x = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("y", out value))
            {
                m_current_position.y = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("z", out value))
            {
                m_current_position.z = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("angle", out value))
            {
                m_base_angle = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("radius", out value))
            {
                m_radius = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("height", out value))
            {
                m_height = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("base_rotatable", out value))
            {
                m_base_rotatable = bool.Parse(value);
            }
            if (variables.TryGetValue("head_rotatable", out value))
            {
                m_head_rotatable = bool.Parse(value);
            }
            if (variables.TryGetValue("collision_sender", out value))
            {
                m_collision_sender = bool.Parse(value);
            }
            if (variables.TryGetValue("visible", out value))
            {
                m_visible = bool.Parse(value);
            }
        }
예제 #18
0
    public void TestParse()
    {
        Assert.Equal((float)FixPoint.Parse("0"), (float)0);
        Assert.Equal((float)FixPoint.Parse("-0"), (float)0);
        Assert.Equal((float)FixPoint.Parse("+0"), (float)0);
        Assert.Equal((float)FixPoint.Parse("1"), (float)1);
        Assert.Equal((float)FixPoint.Parse("-1"), (float)-1);
        Assert.Equal((float)FixPoint.Parse("+1"), (float)1);
        Assert.Equal((float)FixPoint.Parse("12345"), (float)12345);
        Assert.Equal((float)FixPoint.Parse("-12345"), (float)-12345);
        Assert.Equal((float)FixPoint.Parse("+12345"), (float)12345);

        Assert.Equal((float)FixPoint.Parse("1.5"), (float)1.5);
        Assert.Equal((float)FixPoint.Parse("-1.5"), (float)-1.5);
        Assert.Equal((float)FixPoint.Parse("+1.5"), (float)1.5);

        Assert.Equal((float)FixPoint.Parse("0.5"), (float)0.5);
        Assert.Equal((float)FixPoint.Parse("-0.5"), (float)-0.5);
        Assert.Equal((float)FixPoint.Parse("+0.5"), (float)0.5);
        Assert.Equal((float)FixPoint.Parse(".5"), (float)0.5);
        Assert.Equal((float)FixPoint.Parse("-.5"), (float)-0.5);
        Assert.Equal((float)FixPoint.Parse("+.5"), (float)0.5);


        Assert.Equal((float)FixPoint.Parse(".6789"), (float)0.6789);
        Assert.Equal((float)FixPoint.Parse("-.6789"), (float)-0.6789);
        Assert.Equal((float)FixPoint.Parse("-.6789"), (float)-0.6789);

        Assert.Equal((float)FixPoint.Parse("0.6789"), (float)0.6789);
        Assert.Equal((float)FixPoint.Parse("-0.6789"), (float)-0.6789);
        Assert.Equal((float)FixPoint.Parse("+0.6789"), (float)0.6789);

        Assert.Equal((float)FixPoint.Parse("12345.6789"), (float)12345.6789);
        Assert.Equal((float)FixPoint.Parse("+12345.6789"), (float)12345.6789);
        Assert.Equal((float)FixPoint.Parse("-12345.6789"), (float)-12345.6789);


        Assert.Equal((float)FixPoint.Parse("10203.06"), (float)10203.06);
        Assert.Equal((float)FixPoint.Parse("10203.006"), (float)10203.006);
        Assert.Equal((float)FixPoint.Parse("10203.0006"), (float)10203.0006);
        Assert.Equal((float)FixPoint.Parse("10203.00006"), (float)10203.00006);
        Assert.Equal((float)FixPoint.Parse("10203.000006"), (float)10203.000006);
    }
예제 #19
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;
        }
예제 #20
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("object_type_id", out value))
            {
                m_object_type_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_proto_id", out value))
            {
                m_object_proto_id = int.Parse(value);
            }
            if (variables.TryGetValue("object_life_time", out value))
            {
                m_object_life_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("offset_x", out value))
            {
                m_offset.x = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("offset_y", out value))
            {
                m_offset.y = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("offset_z", out value))
            {
                m_offset.z = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("object_count", out value))
            {
                m_object_count = int.Parse(value);
            }
            if (variables.TryGetValue("interval", out value))
            {
                m_interval = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("revert_when_unapply", out value))
            {
                m_revert_when_unapply = bool.Parse(value);
            }
        }
예제 #21
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("gathering_type", out value))
            {
                m_target_gathering_param.m_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("gathering_param1", out value))
            {
                m_target_gathering_param.m_param1 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("gathering_param2", out value))
            {
                m_target_gathering_param.m_param2 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("gathering_faction", out value))
            {
                m_target_gathering_param.m_faction = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("gathering_category", out value))
            {
                m_target_gathering_param.m_category = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("enter_generator", out value))
            {
                m_enter_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("period_generator", out value))
            {
                m_period_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("period", out value))
            {
                m_period = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("region_update_interval", out value))
            {
                m_region_update_interval = FixPoint.Parse(value);
            }
        }
예제 #22
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("speed", out value))
            {
                m_speed = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("life_time", out value))
            {
                m_life_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("track_mode", out value))
            {
                m_track_mode = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("trajectory_type", out value))
            {
                m_trajectory_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("extra_hight", out value))
            {
                m_extra_hight = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("can_cross_obstacle", out value))
            {
                m_can_cross_obstacle = bool.Parse(value);
            }
            if (variables.TryGetValue("pierce_entity", out value))
            {
                m_pierce_entity = bool.Parse(value);
            }
            if (variables.TryGetValue("collision_faction", out value))
            {
                m_collision_faction = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("collision_sound", out value))
            {
                m_collision_sound_cfgid = int.Parse(value);
            }
        }
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("distance", out value))
            {
                m_distance = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("time", out value))
            {
                m_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("collision_target_generator_id", out value))
            {
                m_collision_target_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("backward", out value))
            {
                m_backward = bool.Parse(value);
            }
        }
예제 #24
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("delay_time", out value))
            {
                m_delay_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("generator_id", out value))
            {
                m_generator_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("render_effect", out value))
            {
                m_render_effect_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("render_delay_time", out value))
            {
                m_render_delay_time = FixPoint.Parse(value);
            }
        }
예제 #25
0
        public override bool Get(TextBuffer text_buffer)
        {
            int start_index = text_buffer.CurrentIndex;
            int length      = 1;

            while (true)
            {
                char ch = text_buffer.NextChar();
                if (ch == '.' || Tokenizer.GetCode(ch) == Tokenizer.Digit)
                {
                    ++length;
                }
                else
                {
                    break;
                }
            }
            string str = text_buffer.SubString(start_index, length);

            m_value = FixPoint.Parse(str);
            return(true);
        }
예제 #26
0
        public override void InitializeComponent()
        {
            BirthPositionInfo birth_info = ParentObject.GetCreationContext().m_birth_info;

            if (birth_info != null)
            {
                m_current_position = birth_info.m_birth_position;
                m_base_angle       = birth_info.m_birth_angle;
                m_current_space    = birth_info.m_space;
            }
            else
            {
                ParentObject.GetCreationContext().m_birth_info = new BirthPositionInfo(m_current_position.x, m_current_position.y, m_current_position.z, m_base_angle);
            }
            if (m_current_space == null)
            {
                m_current_space = GetLogicWorld().GetDefaultSceneSpace();
            }

            ObjectProtoData proto_data = ParentObject.GetCreationContext().m_proto_data;

            if (proto_data != null)
            {
                var dic = proto_data.m_component_variables;
                if (dic != null)
                {
                    string value;
                    if (dic.TryGetValue("radius", out value))
                    {
                        m_radius = FixPoint.Parse(value);
                    }
                }
            }

            if (m_collision_sender && m_current_space != null)
            {
                m_current_space.m_paitition.AddEntiy(this);
            }
        }
예제 #27
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("delay_time", out value))
            {
                m_delay_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("damage_type", out value))
            {
                m_damage_type_id = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("damage_amount", out value))
            {
                m_damage_amount.Compile(value);
            }
            if (variables.TryGetValue("damage_render_effect", out value))
            {
                m_damage_render_effect_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("damage_sound", out value))
            {
                m_damage_sound_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("combo_attack_cnt", out value))
            {
                m_combo_attack_cnt = int.Parse(value);
            }
            if (variables.TryGetValue("combo_interval", out value))
            {
                m_combo_interval = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("render_effect", out value))
            {
                m_render_effect_cfgid = int.Parse(value);
            }
        }
예제 #28
0
        public override void InitializeComponent()
        {
            if (m_track_mode == 0)
            {
                m_track_mode = TrackModeNone;
            }
            else if (m_track_mode == TrackModeLockTarget)
            {
                m_pierce_entity = false;
            }
            if (m_trajectory_type == 0)
            {
                m_trajectory_type = TrajectoryTypeHorizontalLine;
            }
            ObjectProtoData proto_data = ParentObject.GetCreationContext().m_proto_data;

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

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

            if (variables.TryGetValue("speed", out value))
            {
                m_speed = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("life_time", out value))
            {
                m_life_time = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("track_mode", out value))
            {
                m_track_mode = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("trajectory_type", out value))
            {
                m_trajectory_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("extra_hight", out value))
            {
                m_extra_hight = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("can_cross_obstacle", out value))
            {
                m_can_cross_obstacle = bool.Parse(value);
            }
            if (variables.TryGetValue("pierce_entity", out value))
            {
                m_pierce_entity = bool.Parse(value);
            }
            if (variables.TryGetValue("collision_faction", out value))
            {
                m_collision_faction = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("collision_sound", out value))
            {
                m_collision_sound_cfgid = int.Parse(value);
            }

            if (m_pierce_entity)
            {
                m_effected_entities = new List <int>();
            }
        }
예제 #29
0
        public override void InitializeVariable(Dictionary <string, string> variables)
        {
            string value;

            if (variables.TryGetValue("mana_type", out value))
            {
                m_mana_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("mana_cost", out value))
            {
                m_mana_cost.Compile(value);
            }
            if (variables.TryGetValue("min_range", out value))
            {
                m_min_range.Compile(value);
            }
            if (variables.TryGetValue("max_range", out value))
            {
                m_max_range.Compile(value);
            }
            if (variables.TryGetValue("cooldown_time", out value))
            {
                m_cooldown_time.Compile(value);
            }
            if (variables.TryGetValue("casting_time", out value))
            {
                m_casting_time.Compile(value);
            }
            if (variables.TryGetValue("inflict_time", out value))
            {
                m_inflict_time.Compile(value);
            }
            if (variables.TryGetValue("expiration_time", out value))
            {
                m_expiration_time.Compile(value);
            }
            if (variables.TryGetValue("normal_attack", out value))
            {
                m_normal_attack = bool.Parse(value);
            }
            if (variables.TryGetValue("starts_active", out value))
            {
                m_starts_active = bool.Parse(value);
            }
            if (variables.TryGetValue("blocks_other_skills_when_active", out value))
            {
                m_blocks_other_skills_when_active = bool.Parse(value);
            }
            if (variables.TryGetValue("blocks_movement_when_active", out value))
            {
                m_blocks_movement_when_active = bool.Parse(value);
            }
            if (variables.TryGetValue("blocks_rotating_when_active", out value))
            {
                m_blocks_rotating_when_active = bool.Parse(value);
            }
            if (variables.TryGetValue("deactivate_when_moving", out value))
            {
                m_deactivate_when_moving = bool.Parse(value);
            }
            if (variables.TryGetValue("can_activate_while_moving", out value))
            {
                m_can_activate_while_moving = bool.Parse(value);
            }
            if (variables.TryGetValue("moving_activating_must_have_target", out value))
            {
                m_moving_activating_must_have_target = bool.Parse(value);
            }
            if (variables.TryGetValue("can_activate_when_disabled", out value))
            {
                m_can_activate_when_disabled = bool.Parse(value);
            }
            if (variables.TryGetValue("gathering_type", out value))
            {
                m_target_gathering_param.m_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("gathering_param1", out value))
            {
                m_target_gathering_param.m_param1 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("gathering_param2", out value))
            {
                m_target_gathering_param.m_param2 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("gathering_faction", out value))
            {
                m_target_gathering_param.m_faction = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("gathering_category", out value))
            {
                m_target_gathering_param.m_category = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("need_gather_targets", out value))
            {
                m_need_gather_targets = bool.Parse(value);
            }
            if (variables.TryGetValue("targets_min_count_for_activate", out value))
            {
                m_targets_min_count_for_activate = int.Parse(value);
            }
            if (variables.TryGetValue("external_data_type", out value))
            {
                m_external_data_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("auto_face", out value))
            {
                m_auto_face_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("aim_param1", out value))
            {
                m_aim_param1 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("aim_param2", out value))
            {
                m_aim_param2 = FixPoint.Parse(value);
            }
            if (variables.TryGetValue("icon", out value))
            {
                m_icon = value;
            }
            if (variables.TryGetValue("auto_aim", out value))
            {
                m_auto_aim_type = (int)CRC.Calculate(value);
            }
            if (variables.TryGetValue("casting_animation", out value))
            {
                m_casting_animation = value;
            }
            if (variables.TryGetValue("main_animation", out value))
            {
                m_main_animation = value;
            }
            if (variables.TryGetValue("main_animation_count", out value))
            {
                m_main_animation_count = int.Parse(value);
            }
            if (variables.TryGetValue("expiration_animation", out value))
            {
                m_expiration_animation = value;
            }
            if (variables.TryGetValue("main_render_effect", out value))
            {
                m_main_render_effect_cfgid = int.Parse(value);
            }
            if (variables.TryGetValue("main_sound", out value))
            {
                m_main_sound = int.Parse(value);
            }
        }