示例#1
0
 public SndPan(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_channel = textsection.GetAttribute<Evaluation.Expression>("channel", null);
     m_pan = textsection.GetAttribute<Evaluation.Expression>("pan", null);
     m_abspan = textsection.GetAttribute<Evaluation.Expression>("abspan", null);
 }
示例#2
0
 public NotHitBy(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_hitattr1 = textsection.GetAttribute<Combat.HitAttribute>("value", null);
     m_hitattr2 = textsection.GetAttribute<Combat.HitAttribute>("value2", null);
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
 }
示例#3
0
 public TargetBind(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
     m_id = textsection.GetAttribute<Evaluation.Expression>("id", null);
     m_pos = textsection.GetAttribute<Evaluation.Expression>("pos", null);
 }
示例#4
0
 public BindToParent(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
     m_facing = textsection.GetAttribute<Evaluation.Expression>("facing", null);
     m_position = textsection.GetAttribute<Evaluation.Expression>("pos", null);
 }
示例#5
0
 public TargetVelAdd(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_targetid = textsection.GetAttribute<Evaluation.Expression>("id", null);
     m_x = textsection.GetAttribute<Evaluation.Expression>("x", null);
     m_y = textsection.GetAttribute<Evaluation.Expression>("y", null);
 }
示例#6
0
        public ModifyExplod(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            m_animationnumber = textsection.GetAttribute <Evaluation.PrefixedExpression>("anim", null);
            m_id             = textsection.GetAttribute <Evaluation.Expression>("id", null);
            m_position       = textsection.GetAttribute <Evaluation.Expression>("pos", null);
            m_postype        = textsection.GetAttribute <PositionType?>("postype", null);
            m_facing         = textsection.GetAttribute <Evaluation.Expression>("facing", null);
            m_verticalfacing = textsection.GetAttribute <Evaluation.Expression>("vfacing", null);
            m_bindtime       = textsection.GetAttribute <Evaluation.Expression>("BindTime", null);

            Evaluation.Expression exp_vel      = textsection.GetAttribute <Evaluation.Expression>("vel", null);
            Evaluation.Expression exp_velocity = textsection.GetAttribute <Evaluation.Expression>("velocity", null);
            m_velocity = exp_vel ?? exp_velocity;

            m_acceleration       = textsection.GetAttribute <Evaluation.Expression>("accel", null);
            m_randomdisplacement = textsection.GetAttribute <Evaluation.Expression>("random", null);
            m_removetime         = textsection.GetAttribute <Evaluation.Expression>("removetime", null);
            m_supermove          = textsection.GetAttribute <Evaluation.Expression>("supermove", null);
            m_supermovetime      = textsection.GetAttribute <Evaluation.Expression>("supermovetime", null);
            m_pausemovetime      = textsection.GetAttribute <Evaluation.Expression>("pausemovetime", null);
            m_scale                = textsection.GetAttribute <Evaluation.Expression>("scale", null);
            m_spritepriority       = textsection.GetAttribute <Evaluation.Expression>("sprpriority", null);
            m_drawontop            = textsection.GetAttribute <Evaluation.Expression>("ontop", null);
            m_shadow               = textsection.GetAttribute <Evaluation.Expression>("shadow", null);
            m_ownpalette           = textsection.GetAttribute <Evaluation.Expression>("ownpal", null);
            m_removeongethit       = textsection.GetAttribute <Evaluation.Expression>("removeongethit", null);
            m_explodignorehitpause = textsection.GetAttribute <Evaluation.Expression>("ignorehitpause", null);
            m_blending             = textsection.GetAttribute <Blending?>("trans", null);
            m_alpha                = textsection.GetAttribute <Evaluation.Expression>("alpha", null);
        }
示例#7
0
 public MakeDust(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_pos = textsection.GetAttribute<Evaluation.Expression>("pos", null);
     m_pos2 = textsection.GetAttribute<Evaluation.Expression>("pos2", null);
     m_spacing = textsection.GetAttribute<Evaluation.Expression>("spacing", null);
 }
示例#8
0
        public VarAdd(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            m_intnumber = textsection.GetAttribute<Evaluation.Expression>("v", null);
            m_floatnumber = textsection.GetAttribute<Evaluation.Expression>("fv", null);
            m_systemintnumber = textsection.GetAttribute<Evaluation.Expression>("sysvar", null);
            m_systemfloatnumber = textsection.GetAttribute<Evaluation.Expression>("sysfvar", null);
            m_value = textsection.GetAttribute<Evaluation.Expression>("value", null);

            foreach (KeyValuePair<String, String> parsedline in textsection.ParsedLines)
            {
                Match match = s_lineregex.Match(parsedline.Key);
                if (match.Success == false) continue;

                Evaluation.EvaluationSystem evalsystem = StateSystem.GetSubSystem<Evaluation.EvaluationSystem>();
                StringComparer sc = StringComparer.OrdinalIgnoreCase;
                String var_type = match.Groups[1].Value;
                Evaluation.Expression var_number = evalsystem.CreateExpression(match.Groups[2].Value);

                if (sc.Equals(var_type, "") == true) m_intnumber = var_number;
                if (sc.Equals(var_type, "f") == true) m_floatnumber = var_number;
                if (sc.Equals(var_type, "sys") == true) m_systemintnumber = var_number;
                if (sc.Equals(var_type, "sysf") == true) m_systemfloatnumber = var_number;

                m_value = evalsystem.CreateExpression(parsedline.Value);
            }
        }
示例#9
0
 public Helper(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_helpertype = textsection.GetAttribute<HelperType>("helpertype", HelperType.Normal);
     m_name = textsection.GetAttribute<String>("name", null);
     m_id = textsection.GetAttribute<Evaluation.Expression>("id", null);
     m_position = textsection.GetAttribute<Evaluation.Expression>("pos", null);
     m_postype = textsection.GetAttribute<PositionType>("postype", PositionType.P1);
     m_facing = textsection.GetAttribute<Evaluation.Expression>("facing", null);
     m_statenumber = textsection.GetAttribute<Evaluation.Expression>("stateno", null);
     m_keyctrl = textsection.GetAttribute<Evaluation.Expression>("keyctrl", null);
     m_ownpal = textsection.GetAttribute<Evaluation.Expression>("ownpal", null);
     m_supermovetime = textsection.GetAttribute<Evaluation.Expression>("SuperMoveTime", null);
     m_pausemovetime = textsection.GetAttribute<Evaluation.Expression>("PauseMoveTime", null);
     m_xscale = textsection.GetAttribute<Evaluation.Expression>("size.xscale", null);
     m_yscale = textsection.GetAttribute<Evaluation.Expression>("size.yscale", null);
     m_groundback = textsection.GetAttribute<Evaluation.Expression>("size.ground.back", null);
     m_groundfront = textsection.GetAttribute<Evaluation.Expression>("size.ground.front", null);
     m_airback = textsection.GetAttribute<Evaluation.Expression>("size.air.back", null);
     m_airfront = textsection.GetAttribute<Evaluation.Expression>("size.air.front", null);
     m_height = textsection.GetAttribute<Evaluation.Expression>("size.height", null);
     m_projectscaling = textsection.GetAttribute<Evaluation.Expression>("size.proj.doscale", null);
     m_headpos = textsection.GetAttribute<Evaluation.Expression>("size.head.pos", null);
     m_midpos = textsection.GetAttribute<Evaluation.Expression>("size.mid.pos", null);
     m_shadowoffset = textsection.GetAttribute<Evaluation.Expression>("size.shadowoffset", null);
 }
示例#10
0
        public Explod(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            m_animationnumber = textsection.GetAttribute<Evaluation.PrefixedExpression>("anim", null);
            m_id = textsection.GetAttribute<Evaluation.Expression>("id", null);
            m_position = textsection.GetAttribute<Evaluation.Expression>("pos", null);
            m_postype = textsection.GetAttribute<PositionType>("postype", PositionType.P1);
            m_facing = textsection.GetAttribute<Evaluation.Expression>("facing", null);
            m_verticalfacing = textsection.GetAttribute<Evaluation.Expression>("vfacing", null);
            m_bindtime = textsection.GetAttribute<Evaluation.Expression>("BindTime", null);

            Evaluation.Expression exp_vel = textsection.GetAttribute<Evaluation.Expression>("vel", null);
            Evaluation.Expression exp_velocity = textsection.GetAttribute<Evaluation.Expression>("velocity", null);
            m_velocity = exp_vel ?? exp_velocity;

            m_acceleration = textsection.GetAttribute<Evaluation.Expression>("accel", null);
            m_randomdisplacement = textsection.GetAttribute<Evaluation.Expression>("random", null);
            m_removetime = textsection.GetAttribute<Evaluation.Expression>("removetime", null);
            m_supermove = textsection.GetAttribute<Evaluation.Expression>("supermove", null);
            m_supermovetime = textsection.GetAttribute<Evaluation.Expression>("supermovetime", null);
            m_pausemovetime = textsection.GetAttribute<Evaluation.Expression>("pausemovetime", null);
            m_scale = textsection.GetAttribute<Evaluation.Expression>("scale", null);
            m_spritepriority = textsection.GetAttribute<Evaluation.Expression>("sprpriority", null);
            m_drawontop = textsection.GetAttribute<Evaluation.Expression>("ontop", null);
            m_shadow = textsection.GetAttribute<Evaluation.Expression>("shadow", null);
            m_ownpalette = textsection.GetAttribute<Evaluation.Expression>("ownpal", null);
            m_removeongethit = textsection.GetAttribute<Evaluation.Expression>("removeongethit", null);
            m_explodignorehitpause = textsection.GetAttribute<Evaluation.Expression>("ignorehitpause", null);
            m_blending = textsection.GetAttribute<Blending>("trans", new Blending());
            m_alpha = textsection.GetAttribute<Evaluation.Expression>("alpha", null);
        }
示例#11
0
 public LifeAdd(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_life = textsection.GetAttribute<Evaluation.Expression>("value", null);
     m_cankill = textsection.GetAttribute<Evaluation.Expression>("kill", null);
     m_abs = textsection.GetAttribute<Evaluation.Expression>("absolute", null);
 }
示例#12
0
 public HitFallSet(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_fallset = textsection.GetAttribute<Evaluation.Expression>("value", null);
     m_velx = textsection.GetAttribute<Evaluation.Expression>("xvel", null);
     m_vely = textsection.GetAttribute<Evaluation.Expression>("yvel", null);
 }
示例#13
0
        void ParsePositionString(String input, out Evaluation.Expression expression, out BindToTargetPostion postype)
        {
            expression = null;
            postype    = BindToTargetPostion.None;

            if (input == null)
            {
                return;
            }

            Int32 sep_index = input.LastIndexOf(',');

            if (sep_index == -1)
            {
                expression = StateSystem.GetSubSystem <Evaluation.EvaluationSystem>().CreateExpression(input);
                return;
            }

            String str_exp     = input.Substring(0, sep_index).Trim();
            String str_postype = input.Substring(sep_index + 1).Trim();

            BindToTargetPostion bttp;

            if (StateSystem.GetSubSystem <StringConverter>().TryConvert(str_postype, out bttp) == true)
            {
                expression = StateSystem.GetSubSystem <Evaluation.EvaluationSystem>().CreateExpression(str_exp);
                postype    = bttp;
            }
            else
            {
                expression = StateSystem.GetSubSystem <Evaluation.EvaluationSystem>().CreateExpression(input);
            }
        }
示例#14
0
 public ChangeState(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_statenumber = textsection.GetAttribute<Evaluation.Expression>("value", null);
     m_control = textsection.GetAttribute<Evaluation.Expression>("ctrl", null);
     m_animationnumber = textsection.GetAttribute<Evaluation.Expression>("anim", null);
 }
示例#15
0
        public BindToTarget(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
            m_targetid = textsection.GetAttribute<Evaluation.Expression>("id", null);

            ParsePositionString(textsection.GetAttribute<String>("pos", null), out m_position, out m_bindpos);
        }
示例#16
0
 public Pause(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
     m_cmdbuffertime = textsection.GetAttribute<Evaluation.Expression>("endcmdbuftime", null);
     m_movetime = textsection.GetAttribute<Evaluation.Expression>("movetime", null);
     m_pausebackground = textsection.GetAttribute<Evaluation.Expression>("pausebg", null);
 }
示例#17
0
 public VarRangeSet(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_intnumber = textsection.GetAttribute<Evaluation.Expression>("value", null);
     m_floatnumber = textsection.GetAttribute<Evaluation.Expression>("fvalue", null);
     m_startrrange = textsection.GetAttribute<Evaluation.Expression>("first", null);
     m_endrange = textsection.GetAttribute<Evaluation.Expression>("last", null);
 }
示例#18
0
        public AfterImageTime(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            Evaluation.Expression exp_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
            Evaluation.Expression exp_value = textsection.GetAttribute<Evaluation.Expression>("value", null);

            m_time = exp_time ?? exp_value;
        }
示例#19
0
 public EnvShake(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_time = textsection.GetAttribute<Evaluation.Expression>("Time", null);
     m_freq = textsection.GetAttribute<Evaluation.Expression>("freq", null);
     m_amplitude = textsection.GetAttribute<Evaluation.Expression>("ampl", null);
     m_phaseoffset = textsection.GetAttribute<Evaluation.Expression>("phase", null);
 }
示例#20
0
 public GameMakeAnim(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_anim = textsection.GetAttribute<Evaluation.Expression>("value", null);
     m_drawunder = textsection.GetAttribute<Evaluation.Expression>("under", null);
     m_position = textsection.GetAttribute<Evaluation.Expression>("pos", null);
     m_random = textsection.GetAttribute<Evaluation.Expression>("random", null);
 }
示例#21
0
        public AfterImageTime(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            Evaluation.Expression exp_time  = textsection.GetAttribute <Evaluation.Expression>("time", null);
            Evaluation.Expression exp_value = textsection.GetAttribute <Evaluation.Expression>("value", null);

            m_time = exp_time ?? exp_value;
        }
示例#22
0
 public ForceFeedback(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_rumbletype = textsection.GetAttribute<ForceFeedbackType>("waveform", ForceFeedbackType.Sine);
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
     m_freq = textsection.GetAttribute<Evaluation.Expression>("freq", null);
     m_ampl = textsection.GetAttribute<Evaluation.Expression>("ampl", null);
     m_self = textsection.GetAttribute<Evaluation.Expression>("self", null);
 }
示例#23
0
 public HitOverride(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_hitattr = textsection.GetAttribute<Combat.HitAttribute>("attr", null);
     m_slot = textsection.GetAttribute<Evaluation.Expression>("slot", null);
     m_statenumber = textsection.GetAttribute<Evaluation.Expression>("stateno", null);
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
     m_forceair = textsection.GetAttribute<Evaluation.Expression>("forceair", null);
 }
示例#24
0
        public EnvColor(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            Evaluation.Expression exp_value = textsection.GetAttribute <Evaluation.Expression>("value", null);
            Evaluation.Expression exp_color = textsection.GetAttribute <Evaluation.Expression>("Color", null);
            m_color = exp_value ?? exp_color;

            m_time  = textsection.GetAttribute <Evaluation.Expression>("Time", null);
            m_under = textsection.GetAttribute <Evaluation.Expression>("under", null);
        }
示例#25
0
 public ReversalDef(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_pausetime = textsection.GetAttribute<Evaluation.Expression>("pausetime", null);
     m_sparknumber = textsection.GetAttribute<Evaluation.PrefixedExpression>("sparkno", null);
     m_hitsound = textsection.GetAttribute<Evaluation.PrefixedExpression>("hitsound", null);
     m_p1statenumber = textsection.GetAttribute<Evaluation.Expression>("p1stateno", null);
     m_p2statenumber = textsection.GetAttribute<Evaluation.Expression>("p2stateno", null);
     m_hitattr = textsection.GetAttribute<Combat.HitAttribute>("reversal.attr", null);
 }
示例#26
0
        public EnvColor(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            Evaluation.Expression exp_value = textsection.GetAttribute<Evaluation.Expression>("value", null);
            Evaluation.Expression exp_color = textsection.GetAttribute<Evaluation.Expression>("Color", null);
            m_color = exp_value ?? exp_color;

            m_time = textsection.GetAttribute<Evaluation.Expression>("Time", null);
            m_under = textsection.GetAttribute<Evaluation.Expression>("under", null);
        }
示例#27
0
 public PalFx(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
     m_paladd = textsection.GetAttribute<Evaluation.Expression>("add", null);
     m_palmul = textsection.GetAttribute<Evaluation.Expression>("mul", null);
     m_sineadd = textsection.GetAttribute<Evaluation.Expression>("sinadd", null);
     m_palinvert = textsection.GetAttribute<Evaluation.Expression>("invertall", null);
     m_palcolor = textsection.GetAttribute<Evaluation.Expression>("color", null);
 }
示例#28
0
 public PlaySnd(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_soundid = textsection.GetAttribute<Evaluation.PrefixedExpression>("value", null);
     m_volume = textsection.GetAttribute<Evaluation.Expression>("volume", null);
     m_channel = textsection.GetAttribute<Evaluation.Expression>("channel", null);
     m_channelpriority = textsection.GetAttribute<Evaluation.Expression>("lowpriority", null);
     m_freqmul = textsection.GetAttribute<Evaluation.Expression>("freqmul", null);
     m_loop = textsection.GetAttribute<Evaluation.Expression>("loop", null);
     m_pan = textsection.GetAttribute<Evaluation.Expression>("pan", null);
     m_abspan = textsection.GetAttribute<Evaluation.Expression>("abspan", null);
 }
示例#29
0
        public Width(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            m_edge = textsection.GetAttribute<Evaluation.Expression>("edge", null);
            m_player = textsection.GetAttribute<Evaluation.Expression>("player", null);

            Evaluation.Expression exp_value = textsection.GetAttribute<Evaluation.Expression>("value", null);
            if (exp_value != null)
            {
                m_edge = exp_value;
                m_player = exp_value;
            }
        }
示例#30
0
        public Width(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            m_edge   = textsection.GetAttribute <Evaluation.Expression>("edge", null);
            m_player = textsection.GetAttribute <Evaluation.Expression>("player", null);

            Evaluation.Expression exp_value = textsection.GetAttribute <Evaluation.Expression>("value", null);
            if (exp_value != null)
            {
                m_edge   = exp_value;
                m_player = exp_value;
            }
        }
示例#31
0
 public AfterImage(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_time = textsection.GetAttribute<Evaluation.Expression>("time", null);
     m_numberofframes = textsection.GetAttribute<Evaluation.Expression>("length", null);
     m_palettecolor = textsection.GetAttribute<Evaluation.Expression>("palcolor", null);
     m_paletteinversion = textsection.GetAttribute<Evaluation.Expression>("palinvertall", null);
     m_palettebrightness = textsection.GetAttribute<Evaluation.Expression>("palbright", null);
     m_palettecontrast = textsection.GetAttribute<Evaluation.Expression>("palcontrast", null);
     m_palettepostbrightness = textsection.GetAttribute<Evaluation.Expression>("palpostbright", null);
     m_paletteadd = textsection.GetAttribute<Evaluation.Expression>("paladd", null);
     m_palettemutliply = textsection.GetAttribute<Evaluation.Expression>("palmul", null);
     m_timegap = textsection.GetAttribute<Evaluation.Expression>("TimeGap", null);
     m_framegap = textsection.GetAttribute<Evaluation.Expression>("FrameGap", null);
     m_blending = textsection.GetAttribute<Blending?>("trans", null);
     m_alpha = textsection.GetAttribute<Evaluation.Expression>("alpha", null);
 }
示例#32
0
        public VarAdd(StateSystem statesystem, String label, TextSection textsection)
            : base(statesystem, label, textsection)
        {
            m_intnumber         = textsection.GetAttribute <Evaluation.Expression>("v", null);
            m_floatnumber       = textsection.GetAttribute <Evaluation.Expression>("fv", null);
            m_systemintnumber   = textsection.GetAttribute <Evaluation.Expression>("sysvar", null);
            m_systemfloatnumber = textsection.GetAttribute <Evaluation.Expression>("sysfvar", null);
            m_value             = textsection.GetAttribute <Evaluation.Expression>("value", null);

            foreach (KeyValuePair <String, String> parsedline in textsection.ParsedLines)
            {
                Match match = s_lineregex.Match(parsedline.Key);
                if (match.Success == false)
                {
                    continue;
                }

                Evaluation.EvaluationSystem evalsystem = StateSystem.GetSubSystem <Evaluation.EvaluationSystem>();
                StringComparer        sc         = StringComparer.OrdinalIgnoreCase;
                String                var_type   = match.Groups[1].Value;
                Evaluation.Expression var_number = evalsystem.CreateExpression(match.Groups[2].Value);

                if (sc.Equals(var_type, "") == true)
                {
                    m_intnumber = var_number;
                }
                if (sc.Equals(var_type, "f") == true)
                {
                    m_floatnumber = var_number;
                }
                if (sc.Equals(var_type, "sys") == true)
                {
                    m_systemintnumber = var_number;
                }
                if (sc.Equals(var_type, "sysf") == true)
                {
                    m_systemfloatnumber = var_number;
                }

                m_value = evalsystem.CreateExpression(parsedline.Value);
            }
        }
示例#33
0
        TriggerMap BuildTriggers(TextSection textsection)
        {
            if (textsection == null)
            {
                throw new ArgumentNullException("textsection");
            }

            StringComparer sc       = StringComparer.OrdinalIgnoreCase;
            var            triggers = new SortedDictionary <Int32, List <Evaluation.Expression> >();

            var evalsystem = StateSystem.GetSubSystem <Evaluation.EvaluationSystem>();

            foreach (KeyValuePair <String, String> parsedline in textsection.ParsedLines)
            {
                if (String.Compare(parsedline.Key, 0, "trigger", 0, 7, StringComparison.OrdinalIgnoreCase) != 0)
                {
                    continue;
                }

                Int32 triggernumber = 0;
                if (String.Compare(parsedline.Key, 7, "all", 0, 3, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    triggernumber = 0;
                }
                else if (Int32.TryParse(parsedline.Key.Substring(7), out triggernumber) == false)
                {
                    continue;
                }

                Evaluation.Expression trigger = evalsystem.CreateExpression(parsedline.Value);

                if (triggers.ContainsKey(triggernumber) == false)
                {
                    triggers.Add(triggernumber, new List <Evaluation.Expression>());
                }
                triggers[triggernumber].Add(trigger);
            }

            return(new TriggerMap(triggers));
        }
示例#34
0
        public State(StateSystem statesystem, Int32 number, TextSection textsection, List<StateController> controllers)
        {
            if (statesystem == null) throw new ArgumentNullException("statesystem");
            if (number < -3) throw new ArgumentOutOfRangeException("State number must be greater then or equal to -3");
            if (textsection == null) throw new ArgumentNullException("textsection");
            if (controllers == null) throw new ArgumentNullException("controllers");

            m_statesystem = statesystem;
            m_number = number;
            m_controllers = new ReadOnlyList<StateController>(controllers);
            m_statetype = textsection.GetAttribute<StateType>("type", StateType.Standing);
            m_movetype = textsection.GetAttribute<MoveType>("MoveType", MoveType.Idle);
            m_physics = textsection.GetAttribute<Physics>("Physics", Physics.None);
            m_animationnumber = textsection.GetAttribute<Evaluation.Expression>("anim", null);
            m_velocity = textsection.GetAttribute<Evaluation.Expression>("velset", null);
            m_control = textsection.GetAttribute<Evaluation.Expression>("ctrl", null);
            m_power = textsection.GetAttribute<Evaluation.Expression>("poweradd", null);
            m_jugglepoints = textsection.GetAttribute<Evaluation.Expression>("juggle", null);
            m_faceenemy = textsection.GetAttribute<Evaluation.Expression>("facep2", null);
            m_hitdefpersist = textsection.GetAttribute<Evaluation.Expression>("hitdefpersist", null);
            m_movehitpersist = textsection.GetAttribute<Evaluation.Expression>("movehitpersist", null);
            m_hitcountpersist = textsection.GetAttribute<Evaluation.Expression>("hitcountpersist", null);
            m_spritepriority = textsection.GetAttribute<Evaluation.Expression>("sprpriority", null);
        }
示例#35
0
 public RemoveExplod(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_id = textsection.GetAttribute<Evaluation.Expression>("ID", null);
 }
示例#36
0
 public LifeSet(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_life = textsection.GetAttribute<Evaluation.Expression>("value", null);
 }
示例#37
0
 public TargetDrop(StateSystem statesystem, String label, TextSection textsection)
     : base(statesystem, label, textsection)
 {
     m_id = textsection.GetAttribute<Evaluation.Expression>("excludeID", null);
     m_keepone = textsection.GetAttribute<Evaluation.Expression>("keepone", null);
 }