예제 #1
0
        //Return the event name followed by each parameter paired with its type.
        public string GetDefaultSyntax(Event eventData)
        {
            string script = GetEventInfo(eventData.eventEvent)._name + (eventData.lParameters > 0 ? ": " : "");

            for (int i = 0; i < eventData.lParameters; i++)
            {
                script += eventData.parameters[i]._type + "-";
                switch ((int)eventData.parameters[i]._type)
                {
                case 0: script += GetValue(eventData.eventEvent, i, eventData.parameters[i]._data); break;

                case 1: script += MParams.UnScalar(eventData.parameters[i]._data).ToString(); break;

                case 2: script += ResolvePointer(eventData.pParameters + i * 8 + 4, eventData.parameters[i]); break;

                case 3: script += (eventData.parameters[i]._data != 0 ? "true" : "false"); break;

                case 4: script += MParams.Hex(eventData.parameters[i]._data); break;

                case 5: script += ResolveVariable(eventData.parameters[i]._data); break;

                case 6: script += GetRequirement(eventData.parameters[i]._data); break;
                }
                if (i != eventData.lParameters)
                {
                    script += ", ";
                }
            }
            return(script);
        }
예제 #2
0
        //Return a string of the parameter in the format corresponding to it's type.
        public string[] ResolveParamTypes(Event eventData)
        {
            string[] p = new string[eventData.parameters.Length];

            for (int i = 0; i < p.Length; i++)
            {
                switch ((int)eventData.parameters[i]._type)
                {
                case 0: p[i] = GetValue(eventData.eventEvent, i, eventData.parameters[i]._data); break;

                case 1: p[i] = MParams.UnScalar(eventData.parameters[i]._data).ToString(); break;

                case 2: p[i] = ResolvePointer(eventData.pParameters + i * 8 + 4, eventData.parameters[i]); break;

                case 3: p[i] = (eventData.parameters[i]._data != 0 ? "true" : "false"); break;

                case 4: p[i] = MParams.Hex(eventData.parameters[i]._data); break;

                case 5: p[i] = ResolveVariable(eventData.parameters[i]._data); break;

                case 6: p[i] = GetRequirement(eventData.parameters[i]._data); break;
                }
            }
            return(p);
        }