Ejemplo n.º 1
0
 public void InitFromDsl(Dsl.ISyntaxComponent param)
 {
     Dsl.FunctionData callData = param as Dsl.FunctionData;
     if (null != callData)
     {
         int num = callData.GetParamNum();
         if (num > 1)
         {
             m_Object.InitFromDsl(callData.GetParam(0));
             m_Method.InitFromDsl(callData.GetParam(1));
         }
         for (int i = 2; i < callData.GetParamNum(); ++i)
         {
             StoryValue val = new StoryValue();
             val.InitFromDsl(callData.GetParam(i));
             m_Args.Add(val);
         }
     }
 }
Ejemplo n.º 2
0
 public Dsl.FunctionData InitFromDsl(Dsl.ISyntaxComponent param, int startIndex, bool enableComments)
 {
     Dsl.FunctionData ret = null;
     if (enableComments)
     {
         var statementData = param as Dsl.StatementData;
         if (null != statementData && statementData.GetFunctionNum() == 2)
         {
             var first = statementData.First;
             var last  = statementData.Last;
             if (!first.HaveStatement() && (last.GetId() == "comment" || last.GetId() == "comments"))
             {
                 ret = last;
                 statementData.Functions.RemoveAt(1);
             }
         }
     }
     return(ret);
 }
        public static Vector2 CalcVector2(Dsl.FunctionData callData)
        {
            if (null == callData || callData.GetId() != "vector2")
            {
                return(Vector2.zero);
            }
            int num = callData.GetParamNum();

            if (2 == num)
            {
                float x = float.Parse(callData.GetParamId(0));
                float y = float.Parse(callData.GetParamId(1));
                return(new Vector2(x, y));
            }
            else
            {
                return(Vector2.zero);
            }
        }
Ejemplo n.º 4
0
        protected override bool Load(Dsl.FunctionData funcData)
        {
            Dsl.CallData callData = funcData.Call;
            int          num      = callData.GetParamNum();

            for (int ix = 0; ix < num; ++ix)
            {
                Dsl.ISyntaxComponent cond = funcData.Call.GetParam(ix);
                m_Elements.Add(Calculator.Load(cond));
            }
            int fnum = funcData.GetStatementNum();

            for (int ix = 0; ix < fnum; ++ix)
            {
                IExpression subExp = Calculator.Load(funcData.GetStatement(ix));
                m_Expressions.Add(subExp);
            }
            return(true);
        }
Ejemplo n.º 5
0
        protected override void Load(Dsl.FunctionData callData, SkillInstance instance)
        {
            int num = callData.GetParamNum();

            if (num >= 11)
            {
                StartTime           = long.Parse(callData.GetParamId(0));
                m_CurveTime         = float.Parse(callData.GetParamId(1));
                m_CurveHeight       = float.Parse(callData.GetParamId(2));
                m_QteStartTime      = float.Parse(callData.GetParamId(3));
                m_QteDuration       = float.Parse(callData.GetParamId(4));
                m_QteHeight         = float.Parse(callData.GetParamId(5));
                m_QteButtonDuration = float.Parse(callData.GetParamId(6));
                m_UpAnim            = callData.GetParamId(7);
                m_DownAnim          = callData.GetParamId(8);
                m_FalldownAnim      = callData.GetParamId(9);
                m_AnimFadeTime      = float.Parse(callData.GetParamId(10));
            }
        }
Ejemplo n.º 6
0
        protected override bool Load(Dsl.StatementData statementData)
        {
            Load(statementData.First);
            int ct = statementData.Functions.Count;

            for (int stIx = 1; stIx < ct; ++stIx)
            {
                Dsl.FunctionData functionData = statementData.Functions[stIx];
                if (null != functionData)
                {
                    string funcId = functionData.GetId();
                    if (funcId == "elseif")
                    {
                        Load(functionData);
                    }
                    else if (funcId == "else")
                    {
                        if (stIx == ct - 1)
                        {
                            for (int i = 0; i < functionData.GetParamNum(); i++)
                            {
                                IStoryCommand cmd = StoryCommandManager.Instance.CreateCommand(functionData.GetParam(i));
                                if (null != cmd)
                                {
                                    m_LoadedElseCommands.Add(cmd);
                                }
                            }
                        }
                        else
                        {
#if DEBUG
                            string err = string.Format("[StoryDsl] else must be the last function !!! line:{0}", functionData.GetLine());
                            throw new Exception(err);
#else
                            GameFramework.LogSystem.Error("[StoryDsl] else must be the last function !!!");
#endif
                        }
                    }
                }
            }
            return(true);
        }
 protected override void Load(Dsl.FunctionData funcData, SkillInstance instance)
 {
     if (funcData.IsHighOrder)
     {
         LoadCall(funcData.LowerOrderFunction, instance);
     }
     else if (funcData.HaveParam())
     {
         LoadCall(funcData, instance);
     }
     if (funcData.HaveStatement())
     {
         for (int i = 0; i < funcData.GetParamNum(); ++i)
         {
             Dsl.ISyntaxComponent statement = funcData.GetParam(i);
             Dsl.FunctionData     stCall    = statement as Dsl.FunctionData;
             if (null != stCall)
             {
                 string id  = stCall.GetId();
                 string key = stCall.GetParamId(0);
                 object val = string.Empty;
                 if (id == "int")
                 {
                     val = int.Parse(stCall.GetParamId(1));
                 }
                 else if (id == "float")
                 {
                     val = float.Parse(stCall.GetParamId(1));
                 }
                 else if (id == "bool")
                 {
                     val = bool.Parse(stCall.GetParamId(1));
                 }
                 else if (id == "trigger")
                 {
                     val = stCall.GetParamId(1);
                 }
                 m_Params.Add(key, val);
             }
         }
     }
 }
Ejemplo n.º 8
0
 private static bool CanSplitPrefixPostfixOperator(Dsl.ISyntaxComponent data, out Dsl.FunctionData oper, out bool prefix)
 {
     oper   = null;
     prefix = false;
     Dsl.ISyntaxComponent var = null;
     if (DetectPrefixPostfixOperator(data, ref oper, ref var, ref prefix) && !DetectVariable(data, oper, var))
     {
         if (var is Dsl.ValueData)
         {
             return(true);
         }
         else
         {
             var fd = var as Dsl.FunctionData;
             if (fd.GetId() == "getinstance")
             {
                 var p1 = fd.GetParam(1);
                 if (p1 is Dsl.ValueData && !DetectVariable(data, oper, p1))
                 {
                     return(true);
                 }
             }
             else if (fd.GetId() == "getinterface")
             {
                 var p1 = fd.GetParam(0);
                 if (p1 is Dsl.ValueData && !DetectVariable(data, oper, p1))
                 {
                     return(true);
                 }
             }
             else if (fd.GetId() == "getstatic")
             {
                 var p1 = fd.GetParam(1);
                 if (p1 is Dsl.ValueData)
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
Ejemplo n.º 9
0
        private static bool CompareVariable(Dsl.FunctionData data, Dsl.FunctionData var)
        {
            bool ret = false;

            if (data.IsHighOrder && data.IsHighOrder)
            {
                ret = CompareVariable(data.LowerOrderFunction, data.LowerOrderFunction) && data.GetParamClass() == data.GetParamClass() && data.GetParamNum() == data.GetParamNum();
                if (ret)
                {
                    int ct = data.GetParamNum();
                    for (int i = 0; i < ct; ++i)
                    {
                        var l = data.GetParam(i);
                        var r = var.GetParam(i);
                        ret = CompareVariable(l, r);
                        if (!ret)
                        {
                            break;
                        }
                    }
                }
            }
            else if (!data.IsHighOrder && !var.IsHighOrder)
            {
                ret = data.GetId() == var.GetId() && data.GetParamClass() == data.GetParamClass() && data.GetParamNum() == data.GetParamNum();
                if (ret)
                {
                    int ct = data.GetParamNum();
                    for (int i = 0; i < ct; ++i)
                    {
                        var l = data.GetParam(i);
                        var r = var.GetParam(i);
                        ret = CompareVariable(l, r);
                        if (!ret)
                        {
                            break;
                        }
                    }
                }
            }
            return(ret);
        }
Ejemplo n.º 10
0
 private void LoadKeyFrames(List <Dsl.ISyntaxComponent> statements)
 {
     m_Curve = new AnimationCurve();
     for (int i = 0; i < statements.Count; i++)
     {
         Dsl.FunctionData stCall = statements[i] as Dsl.FunctionData;
         if (stCall.GetId() == "keyframe")
         {
             if (stCall.GetParamNum() >= 4)
             {
                 float    time       = float.Parse(stCall.GetParamId(0));
                 float    value      = float.Parse(stCall.GetParamId(1));
                 float    inTangent  = float.Parse(stCall.GetParamId(2));
                 float    outTangent = float.Parse(stCall.GetParamId(3));
                 Keyframe keyframe   = new Keyframe(time, value, inTangent, outTangent);
                 m_Curve.AddKey(keyframe);
             }
         }
     }
 }
Ejemplo n.º 11
0
        protected override void Load(Dsl.FunctionData callData, SkillInstance instance)
        {
            int num = callData.GetParamNum();

            if (num >= 1)
            {
                StartTime = long.Parse(callData.GetParamId(0));
            }
            if (num >= 9)
            {
                m_RelativeCenter.x = float.Parse(callData.GetParamId(1));
                m_RelativeCenter.y = float.Parse(callData.GetParamId(2));
                m_RelativeCenter.z = float.Parse(callData.GetParamId(3));
                m_Radius           = float.Parse(callData.GetParamId(4));
                m_AngleOrLength    = float.Parse(callData.GetParamId(5));
                m_AoeType          = int.Parse(callData.GetParamId(6));
                m_MaxCount         = int.Parse(callData.GetParamId(7));
                m_RelativeToTarget = callData.GetParamId(8) == "true";
            }
        }
Ejemplo n.º 12
0
 protected override void Load(Dsl.FunctionData functionData)
 {
     Dsl.CallData callData = functionData.Call;
     if (null != callData)
     {
         if (callData.GetParamNum() > 0)
         {
             m_LoadedList.InitFromDsl(callData.GetParam(0));
         }
         for (int i = 0; i < functionData.Statements.Count; i++)
         {
             IStoryCommand cmd = StoryCommandManager.Instance.CreateCommand(functionData.Statements[i]);
             if (null != cmd)
             {
                 m_LoadedCommands.Add(cmd);
             }
         }
     }
     IsCompositeCommand = true;
 }
Ejemplo n.º 13
0
        private void Load(Dsl.DslInfo info)
        {
            Dsl.FunctionData   func = info.First;
            string             id   = func.Call.GetParamId(0);
            List <IExpression> list;

            if (!m_Procs.TryGetValue(id, out list))
            {
                list = new List <IExpression>();
                m_Procs.Add(id, list);
            }
            foreach (Dsl.ISyntaxComponent comp in func.Statements)
            {
                var exp = Load(comp);
                if (null != exp)
                {
                    list.Add(exp);
                }
            }
        }
Ejemplo n.º 14
0
 protected override bool Load(Dsl.StatementData statementData)
 {
     Dsl.FunctionData funcData1 = statementData.First;
     Dsl.FunctionData funcData2 = statementData.Second;
     if (funcData2.GetId() == ":")
     {
         Dsl.ISyntaxComponent cond = funcData1.Call.GetParam(0);
         Dsl.ISyntaxComponent op1  = funcData1.GetStatement(0);
         Dsl.ISyntaxComponent op2  = funcData2.GetStatement(0);
         m_Op1 = Calculator.Load(cond);
         m_Op2 = Calculator.Load(op1);
         m_Op3 = Calculator.Load(op2);
     }
     else
     {
         //error
         Console.WriteLine("DslCalculator error, {0} line {1}", statementData.ToScriptString(false), statementData.GetLine());
     }
     return(true);
 }
Ejemplo n.º 15
0
        protected override void Load(Dsl.FunctionData funcData, SkillInstance instance)
        {
            Dsl.CallData callData = funcData.Call;
            if (null != callData)
            {
                Load(callData, instance);

                Dsl.ISyntaxComponent statement = funcData.Statements.Find(st => st.GetId() == "transform");
                if (null != statement)
                {
                    Dsl.CallData stCall = statement as Dsl.CallData;
                    if (null != stCall)
                    {
                        if (stCall.GetParamNum() > 0)
                        {
                            Dsl.CallData param0 = stCall.GetParam(0) as Dsl.CallData;
                            if (null != param0)
                            {
                                m_Pos = DslUtility.CalcVector3(param0);
                            }
                        }
                        if (stCall.GetParamNum() > 1)
                        {
                            Dsl.CallData param1 = stCall.GetParam(1) as Dsl.CallData;
                            if (null != param1)
                            {
                                m_Dir = DslUtility.CalcEularRotation(param1);
                            }
                        }
                        if (stCall.GetParamNum() > 2)
                        {
                            Dsl.CallData param2 = stCall.GetParam(2) as Dsl.CallData;
                            if (null != param2)
                            {
                                m_Scale = DslUtility.CalcVector3(param2);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 16
0
        public static void FirstParse(Dsl.DslInfo dslInfo)
        {
            string id = dslInfo.GetId();

            if (id == "command")
            {
                if (dslInfo.Functions.Count == 2)
                {
                    StorySystem.CommonCommands.CompositeCommand cmd = new CommonCommands.CompositeCommand();
                    cmd.InitSharedData();
                    Dsl.FunctionData first = dslInfo.First;
                    cmd.Name = first.Call.GetParamId(0);
                    Dsl.FunctionData second = dslInfo.Second;
                    for (int ix = 0; ix < second.Call.GetParamNum(); ++ix)
                    {
                        cmd.ArgNames.Add(second.Call.GetParamId(ix));
                    }
                    //注册
                    StoryCommandManager.Instance.RegisterCommandFactory(cmd.Name, new CommonCommands.CompositeCommandFactory(cmd), true);
                }
            }
            else if (id == "value")
            {
                if (dslInfo.Functions.Count == 3)
                {
                    StorySystem.CommonValues.CompositeValue val = new CommonValues.CompositeValue();
                    val.InitSharedData();
                    Dsl.FunctionData first = dslInfo.First;
                    val.Name = first.Call.GetParamId(0);
                    Dsl.FunctionData second = dslInfo.Second;
                    for (int ix = 0; ix < second.Call.GetParamNum(); ++ix)
                    {
                        val.ArgNames.Add(second.Call.GetParamId(ix));
                    }
                    Dsl.FunctionData third = dslInfo.Functions[2];
                    val.ReturnName = third.Call.GetParamId(0);
                    //注册
                    StoryValueManager.Instance.RegisterValueFactory(val.Name, new CommonValues.CompositeValueFactory(val), true);
                }
            }
        }
Ejemplo n.º 17
0
        protected override void Load(Dsl.FunctionData funcData, SkillInstance instance)
        {
            Dsl.CallData callData = funcData.Call;
            if (null != callData)
            {
                Load(callData, instance);

                for (int i = 0; i < funcData.Statements.Count; ++i)
                {
                    Dsl.ISyntaxComponent statement = funcData.Statements[i];
                    Dsl.CallData         stCall    = statement as Dsl.CallData;
                    if (null != stCall)
                    {
                        string id  = stCall.GetId();
                        string key = stCall.GetParamId(0);
                        object val = string.Empty;
                        if (id == "int")
                        {
                            val = int.Parse(stCall.GetParamId(1));
                        }
                        else if (id == "long")
                        {
                            val = long.Parse(stCall.GetParamId(1));
                        }
                        else if (id == "float")
                        {
                            val = float.Parse(stCall.GetParamId(1));
                        }
                        else if (id == "double")
                        {
                            val = double.Parse(stCall.GetParamId(1));
                        }
                        else if (id == "string")
                        {
                            val = stCall.GetParamId(1);
                        }
                        m_Params.Add(key, val);
                    }
                }
            }
        }
Ejemplo n.º 18
0
 protected override bool Load(Dsl.FunctionData functionData)
 {
     if (functionData.IsHighOrder)
     {
         m_LocalInfoIndex = StoryCommandManager.Instance.AllocLocalInfoIndex();
         Dsl.FunctionData callData = functionData.LowerOrderFunction;
         if (callData.GetParamNum() > 0)
         {
             m_LoadedList.InitFromDsl(callData.GetParam(0));
         }
         for (int i = 0; i < functionData.GetParamNum(); i++)
         {
             IStoryCommand cmd = StoryCommandManager.Instance.CreateCommand(functionData.GetParam(i));
             if (null != cmd)
             {
                 m_LoadedCommands.Add(cmd);
             }
         }
     }
     return(true);
 }
Ejemplo n.º 19
0
        protected virtual bool Load(Dsl.FunctionData funcData)
        {
            bool ret = true;

            if (funcData.IsHighOrder)
            {
                if (funcData.LowerOrderFunction.GetParamNum() > 0 || funcData.HaveStatement() || funcData.HaveExternScript())
                {
                    ret = false;
                }
            }
            else if (funcData.HaveStatement() || funcData.HaveExternScript())
            {
                ret = false;
            }
            else if (funcData.HaveParam())
            {
                ret = true;
            }
            return(ret);
        }
        public static Vector4 CalcVector4(Dsl.FunctionData callData)
        {
            if (null == callData || callData.GetId() != "vector4")
            {
                return(Vector4.zero);
            }
            int num = callData.GetParamNum();

            if (4 == num)
            {
                float x = float.Parse(callData.GetParamId(0));
                float y = float.Parse(callData.GetParamId(1));
                float z = float.Parse(callData.GetParamId(2));
                float w = float.Parse(callData.GetParamId(3));
                return(new Vector4(x, y, z, w));
            }
            else
            {
                return(Vector4.zero);
            }
        }
        public static Color CalcColor(Dsl.FunctionData callData)
        {
            if (null == callData || callData.GetId() != "color")
            {
                return(Color.white);
            }
            int num = callData.GetParamNum();

            if (4 == num)
            {
                float r = float.Parse(callData.GetParamId(0));
                float g = float.Parse(callData.GetParamId(1));
                float b = float.Parse(callData.GetParamId(2));
                float a = float.Parse(callData.GetParamId(3));
                return(new Color(r, g, b, a));
            }
            else
            {
                return(Color.white);
            }
        }
        public static Quaternion CalcQuaternion(Dsl.FunctionData callData)
        {
            if (null == callData || callData.GetId() != "quaternion")
            {
                return(Quaternion.identity);
            }
            int num = callData.GetParamNum();

            if (4 == num)
            {
                float x = float.Parse(callData.GetParamId(0));
                float y = float.Parse(callData.GetParamId(1));
                float z = float.Parse(callData.GetParamId(2));
                float w = float.Parse(callData.GetParamId(3));
                return(new Quaternion(x, y, z, w));
            }
            else
            {
                return(Quaternion.identity);
            }
        }
Ejemplo n.º 23
0
    public bool LoadCallData(Dsl.FunctionData callData)
    {
        var err = LuaFunctionHelper.BeginCall(m_Cs2Lua_LoadCallData);

        LuaFunctionHelper.PushValue(Self);
        LuaFunctionHelper.PushValue(callData);
        var end_call_res = LuaFunctionHelper.EndCall(err);

        if (end_call_res)
        {
            LuaFunctionHelper.BeginGetResult(err);
            bool __cs2lua_ret;
            LuaFunctionHelper.GetResult(out __cs2lua_ret);
            LuaFunctionHelper.EndGetResult();
            return(__cs2lua_ret);
        }
        else
        {
            return(false);
        }
    }
Ejemplo n.º 24
0
        protected override void Load(Dsl.FunctionData callData, SkillInstance instance)
        {
            int num = callData.GetParamNum();

            if (num > 0)
            {
                m_IsEnable = callData.GetParamId(0) == "true";
            }
            else
            {
                m_IsEnable = true;
            }
            if (num > 1)
            {
                StartTime = long.Parse(callData.GetParamId(1));
            }
            else
            {
                StartTime = 0;
            }
        }
Ejemplo n.º 25
0
 public void InitFromDsl(Dsl.ISyntaxComponent param)
 {
     Dsl.FunctionData funcData = param as Dsl.FunctionData;
     if (null != funcData)
     {
         Load(funcData);
     }
     else
     {
         Dsl.StatementData statementData = param as Dsl.StatementData;
         if (null != statementData)
         {
             //是否支持语句类型的命令语法?
             Load(statementData);
         }
         else
         {
             //error
         }
     }
 }
Ejemplo n.º 26
0
        private static bool DetectPrefixPostfixOperator(Dsl.ISyntaxComponent data, ref Dsl.FunctionData oper, ref Dsl.ValueData var, ref bool prefix)
        {
            var funcData = data as Dsl.FunctionData;

            if (null != funcData)
            {
                return(DetectPrefixPostfixOperator(funcData, ref oper, ref var, ref prefix));
            }
            else
            {
                var stData = data as Dsl.StatementData;
                if (null != stData)
                {
                    return(DetectPrefixPostfixOperator(stData, ref oper, ref var, ref prefix));
                }
                else
                {
                    return(false);
                }
            }
        }
Ejemplo n.º 27
0
        protected override void Load(Dsl.FunctionData callData, SkillInstance instance)
        {
            int num = callData.GetParamNum();

            if (num > 0)
            {
                StartTime = int.Parse(callData.GetParamId(0));
            }
            m_SectionList.Clear();
            int nextParamIndex = 1;
            int section_num    = 0;

            while (num >= nextParamIndex + 7)
            {
                MoveSectionInfo section = new MoveSectionInfo();
                section.moveTime = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex));
                ++nextParamIndex;
                section.speedVect.x = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex));
                ++nextParamIndex;
                section.speedVect.y = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex));
                ++nextParamIndex;
                section.speedVect.z = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex));
                ++nextParamIndex;
                section.accelVect.x = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex));
                ++nextParamIndex;
                section.accelVect.y = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex));
                ++nextParamIndex;
                section.accelVect.z = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex));
                ++nextParamIndex;
                m_SectionList.Add(section);
                section_num++;
            }
            if (num > nextParamIndex)
            {
                string moveType = callData.GetParamId(nextParamIndex);
                ++nextParamIndex;
                IList <string> list = Converter.ConvertStringList(moveType);
                m_IsFreeMove = list.IndexOf("freemove") >= 0;
            }
        }
Ejemplo n.º 28
0
 internal static void ParseFunctionOptions(Dsl.FunctionData opts, FunctionOptions funcOpts)
 {
     foreach (var opt in opts.Params)
     {
         var optFd = opt as Dsl.FunctionData;
         if (null != optFd)
         {
             if (optFd.GetId() == "needfuncinfo")
             {
                 funcOpts.NeedFuncInfo = optFd.GetParamId(0) == "true";
             }
             else if (optFd.GetId() == "rettype")
             {
                 var tn       = optFd.GetParamId(0);
                 var orit     = optFd.GetParam(1);
                 var oritk    = optFd.GetParam(2);
                 var t        = CalcTypeString(orit);
                 var tk       = CalcTypeString(oritk);
                 var ro       = int.Parse(optFd.GetParamId(3));
                 var isExtern = optFd.GetParamId(4) == "true";
                 funcOpts.RetTypes.Add(new TypeInfo {
                     Name = tn, Type = t, TypeKind = tk, RefOrOut = ro, IsExtern = isExtern, OriType = orit, OriTypeKind = oritk
                 });
             }
             else if (optFd.GetId() == "paramtype")
             {
                 var tn       = optFd.GetParamId(0);
                 var orit     = optFd.GetParam(1);
                 var oritk    = optFd.GetParam(2);
                 var t        = CalcTypeString(orit);
                 var tk       = CalcTypeString(oritk);
                 var ro       = int.Parse(optFd.GetParamId(3));
                 var isExtern = optFd.GetParamId(4) == "true";
                 funcOpts.ParamTypes.Add(new TypeInfo {
                     Name = tn, Type = t, TypeKind = tk, RefOrOut = ro, IsExtern = isExtern, OriType = orit, OriTypeKind = oritk
                 });
             }
         }
     }
 }
Ejemplo n.º 29
0
 protected override void Load(Dsl.FunctionData funcData, SkillInstance instance)
 {
     Dsl.CallData callData = funcData.Call;
     if (null == callData)
     {
         return;
     }
     Load(callData, instance);
     for (int i = 0; i < funcData.Statements.Count; i++)
     {
         Dsl.CallData stCall = funcData.Statements[i] as Dsl.CallData;
         if (null == stCall)
         {
             continue;
         }
         if (stCall.GetId() == "position")
         {
             LoadPositionConfig(stCall);
         }
         else if (stCall.GetId() == "bone")
         {
             LoadBoneConfig(stCall);
         }
         else if (stCall.GetId() == "audiogroup")
         {
             LoadAudioGroup(stCall);
         }
         else if (stCall.GetId() == "volume")
         {
             if (stCall.GetParamNum() >= 1)
             {
                 m_volume = float.Parse(stCall.GetParamId(0));
             }
             else
             {
                 m_volume = 1.0f;
             }
         }
     }
 }
Ejemplo n.º 30
0
        protected override void Load(Dsl.FunctionData callData)
        {
            int num = callData.GetParamNum();

            if (num > 7)
            {
                m_Receiver.InitFromDsl(callData.GetParam(0));
                m_Title.InitFromDsl(callData.GetParam(1));
                m_Content.InitFromDsl(callData.GetParam(2));
                m_Sender.InitFromDsl(callData.GetParam(3));
                m_LevelDemand.InitFromDsl(callData.GetParam(4));
                m_ValidPeriod.InitFromDsl(callData.GetParam(5));
                m_Money.InitFromDsl(callData.GetParam(6));
                m_Gold.InitFromDsl(callData.GetParam(7));
            }
            for (int i = 8; i < callData.GetParamNum(); ++i)
            {
                StoryValue <int> val = new StoryValue <int>();
                val.InitFromDsl(callData.GetParam(i));
                m_MailItems.Add(val);
            }
        }