コード例 #1
0
ファイル: ParaExp.cs プロジェクト: yangfan111/CsharpCode
        public virtual IPara GetTargetPara(IEventArgs args, IPara source)
        {
            IPara replace = ExpSetParser.GetReplaceValue(unitPara.GetPara(), args);

            if (replace != null)
            {
                return(replace);
            }
            IParable p1 = args.GetUnit(unitPara.GetUnit());

            if (p1 != null)
            {
                IPara p = unitPara.GetPara(args);
                if (p == null)
                {
                    p = source.Initial(op, unitPara.GetPara());
                }
                return(p);
            }
            else
            {
                if (!StringUtil.IsNullOrEmpty(unitPara.GetUnit()))
                {
                    return(source.Initial(op, unitPara.GetUnit() + "." + unitPara.GetPara()));
                }
                else
                {
                    return(source.Initial(op, unitPara.GetPara()));
                }
            }
        }
コード例 #2
0
        public override void DoAction(IEventArgs args)
        {
            UnitPara up   = UnitPara.Parse(FreeUtil.ReplaceVar(this.para, args))[0];
            IPara    para = up.GetPara(args);

            if (para != null)
            {
                double d = FreeUtil.ReplaceDouble(formula, args);
                if (para is IntPara)
                {
                    para.SetValue("=", new IntPara(string.Empty, (int)d));
                }
                if (para is FloatPara)
                {
                    para.SetValue("=", new FloatPara(string.Empty, (float)d));
                }
                if (para is DoublePara)
                {
                    para.SetValue("=", new DoublePara(string.Empty, d));
                }
                else
                {
                    IPara v = new DoublePara("v", d);
                    para.SetValue("=", v);
                }
            }
        }
コード例 #3
0
ファイル: FreeLog.cs プロジェクト: yangfan111/CsharpCode
 public static void Stop(long s, IGameAction action, IEventArgs args)
 {
     if (enable)
     {
         foreach (ParaExp pe in paras)
         {
             IPara p = GetPara(args, pe);
             if (p != null)
             {
                 FreeLog.LogKey key = new FreeLog.LogKey(s, pe.ToString(), action.ToString());
                 if (value.ContainsKey(key))
                 {
                     if (!value[key].GetFrom().Meet("==", p))
                     {
                         // 去除外层的改变action
                         FreeLog.LogKey v = value[key];
                         if (v.seq > lastSeq)
                         {
                             v.to = (IPara)p.Copy();
                             logs.Add(v);
                             lastSeq = v.seq;
                         }
                         value[key].to = (IPara)p.Copy();
                     }
                 }
             }
         }
         index--;
     }
 }
コード例 #4
0
 public void TempUsePara(IPara para)
 {
     if (map.ContainsKey(DEFAULT))
     {
         map[DEFAULT].GetParameters().TempUse(para);
     }
 }
コード例 #5
0
        public void Trigger(int eventId, IPara para)
        {
            triggerArgs.Reset();
            triggerArgs.AddPara(para);

            triggerArgs.Trigger(this, _triggers, eventId);
        }
コード例 #6
0
        public override void DoAction(IEventArgs args)
        {
            if (StringUtil.IsNullOrEmpty(key))
            {
                key = BaseEventArgs.DEFAULT;
            }
            IParable unit = args.GetUnit(key);

            if (unit != null)
            {
                IPara sort = unit.GetParameters().Get(sorter);
                if (sort != null && sort is ParaListSet)
                {
                    ParaListSet pls = (ParaListSet)sort;
                    IParable    pa  = Get();
                    if (action != null)
                    {
                        args.TempUse(TEMP_SORT, pa);
                        args.TempUse("element", pa);
                        action.Act(args);
                        args.Resume("element");
                        args.Resume(TEMP_SORT);
                    }
                    pls.AddParaList(pa.GetParameters());
                }
            }
        }
コード例 #7
0
        public virtual bool Meet(IEventArgs args)
        {
            if (value.IsNull())
            {
                if (con.Equals("=="))
                {
                    return(!para.IsNotNull(args));
                }
                else
                {
                    if (con.Equals("<>"))
                    {
                        return(para.IsNotNull(args));
                    }
                }
            }
            IPara source = para.GetSourcePara(args);

            if (source != null)
            {
                IPara target = value.GetTargetPara(args, source);
                try
                {
                    bool r = source.Meet(con, target);
                    target.Recycle();
                    return(r);
                }
                catch (Exception e)
                {
                    throw new GameConfigExpception(para.ToString() + con + value.ToString() + " is not valid.\n" + ExceptionUtil.GetExceptionContent(e));
                }
            }
            return(false);
        }
コード例 #8
0
ファイル: ListClearAction.cs プロジェクト: yangfan111/common
        public override void DoAction(IEventArgs args)
        {
            if (StringUtil.IsNullOrEmpty(key))
            {
                key = BaseEventArgs.DEFAULT;
            }
            IParable unit = args.GetUnit(key);

            if (unit != null)
            {
                IPara sort = unit.GetParameters().Get(sorter);
                if (sort != null)
                {
                    ParaListSet      pls     = (ParaListSet)sort;
                    IList <ParaList> removes = new List <ParaList>();
                    foreach (ParaList pl in pls)
                    {
                        if (StringUtil.IsNullOrEmpty(exp) || pl.Meet(exp))
                        {
                            removes.Add(pl);
                        }
                    }
                    foreach (ParaList pl_1 in removes)
                    {
                        pls.RemoveParaList(pl_1);
                    }
                }
            }
        }
コード例 #9
0
ファイル: ListSortAction.cs プロジェクト: yangfan111/common
        public override void DoAction(IEventArgs args)
        {
            if (StringUtil.IsNullOrEmpty(key))
            {
                key = BaseEventArgs.DEFAULT;
            }
            IParable unit = args.GetUnit(key);

            if (unit != null)
            {
                IPara sort = unit.GetParameters().Get(sorter);
                if (sort != null)
                {
                    ParaListSet pls = (ParaListSet)sort;
                    if (action != null)
                    {
                        ParaListSet temp = pls.Sort(FreeUtil.ReplaceVar(exp, args));
                        temp.SetName(pls.GetName());
                        unit.GetParameters().TempUse(temp);
                        action.Act(args);
                        unit.GetParameters().Resume(temp.GetName());
                    }
                    if (!keep)
                    {
                        pls.ReOrder();
                    }
                }
            }
        }
コード例 #10
0
 private void AddTo(string[] fields, IParable target, ParaList to)
 {
     foreach (string field in fields)
     {
         FieldPair fp = FieldPair.Parse(field)[0];
         ParaList  tp = target.GetParameters();
         if (tp.HasPara(fp.GetFrom()))
         {
             IPara para = tp.Get(fp.GetFrom());
             if (para != null)
             {
                 IPara clone = (IPara)para.Copy();
                 clone.SetName(fp.GetTo());
                 if (@override || !to.HasPara(fp.GetTo()))
                 {
                     to.AddPara(clone);
                 }
                 else
                 {
                     to.AddPara(clone);
                 }
             }
         }
     }
 }
コード例 #11
0
        public override void DoAction(IEventArgs args)
        {
            IParable p = null;

            if (StringUtil.IsNullOrEmpty(key))
            {
                p = args.GetDefault();
            }
            else
            {
                p = args.GetUnit(key);
            }
            if (p != null && paras != null)
            {
                foreach (IPara para in paras)
                {
                    if (!p.GetParameters().HasPara(para) || @override)
                    {
                        IPara clone = (IPara)para.Copy();
                        clone.SetName(FreeUtil.ReplaceVar(clone.GetName(), args));
                        p.GetParameters().AddPara(clone);
                    }
                }
            }
        }
コード例 #12
0
ファイル: TempUseArgs.cs プロジェクト: yangfan111/CsharpCode
 public void TempUsePara(IPara para)
 {
     if (null == defaultParas)
     {
         return;
     }
     defaultParas.GetParameters().TempUse(para);
 }
コード例 #13
0
 public void TempUsePara(IPara para)
 {
     //if (map.ContainsKey(DEFAULT))
     //{
     //    map[DEFAULT].GetParameters().TempUse(para);
     //}
     useArgs.TempUsePara(para);
 }
コード例 #14
0
        public static void Register(IPara para)
        {
            ICollection <string> ops = new HashSet <string>();

            Sharpen.Collections.AddAll(ops, Arrays.AsList(OPS));
            Sharpen.Collections.AddAll(ops, Arrays.AsList(para.GetConditions()));
            OPS = Sharpen.Collections.ToArray(ops, new string[0]);
        }
コード例 #15
0
ファイル: Section.cs プロジェクト: qishen/ttc2019-live
            /// <summary>
            /// Adds the given element to the collection
            /// </summary>
            /// <param name="item">The item to add</param>
            public override void Add(IModelElement item)
            {
                IPara parasCasted = item.As <IPara>();

                if ((parasCasted != null))
                {
                    this._parent.Paras.Add(parasCasted);
                }
            }
コード例 #16
0
ファイル: Section.cs プロジェクト: qishen/ttc2019-live
            /// <summary>
            /// Removes the given item from the collection
            /// </summary>
            /// <returns>True, if the item was removed, otherwise False</returns>
            /// <param name="item">The item that should be removed</param>
            public override bool Remove(IModelElement item)
            {
                IPara paraItem = item.As <IPara>();

                if (((paraItem != null) &&
                     this._parent.Paras.Remove(paraItem)))
                {
                    return(true);
                }
                return(false);
            }
コード例 #17
0
ファイル: PageTemplate.cs プロジェクト: uuware/ClassFromDB
        private void btnTempTest_Click(object sender, System.EventArgs e)
        {
            //frmMain.msg.clear();
            frmMain.labStatus.Text = "";
            if (lstTemp.CheckedItems.Count < 1)
            {
                frmMain.labStatus.Text = "no template be selected in list.";
                return;
            }

            XmlDocument xmldoc2 = getXMLTemplate();

            if (xmldoc2 == null)
            {
                frmMain.labStatus.Text = "XML file is not valid.";
                return;
            }
            XmlNodeList nodeList = xmldoc2.SelectNodes("config/template");

            //create new IPara
            IPara ipara = frmMain.CreateIPara();

            //set filed value
            ipara = frmMain.CreateSampleFiled(ipara);

            //テンプレートごとに出力処理
            txtTempTest.Text = "";
            for (int loopj = 0; loopj < nodeList.Count; loopj++)
            {
                ipara.TemplateNode = nodeList[loopj];
                string stitle = "";
                if (nodeList[loopj].Attributes["title"] != null)
                {
                    stitle = nodeList[loopj].Attributes["title"].InnerText;
                    if (nodeList[loopj].Attributes["language"] != null)
                    {
                        stitle = "[" + nodeList[loopj].Attributes["language"].InnerText + "] " + nodeList[loopj].Attributes["title"].InnerText;
                    }
                }
                txtTempTest.AppendText("##################################################\r\n");
                txtTempTest.AppendText("# " + stitle + "\r\n");
                txtTempTest.AppendText("##################################################\r\n");
                string sFileTxt = ClassExt.CreateClsFromTempString(ipara);
                if (sFileTxt != null)
                {
                    txtTempTest.AppendText(sFileTxt);
                }
                else
                {
                    txtTempTest.AppendText("  this file is Canceled by ipara\r\n");
                }
            }
            frmMain.labStatus.Text = "only the selected template is created.";
        }
コード例 #18
0
ファイル: FreeLog.cs プロジェクト: yangfan111/CsharpCode
 private static IPara GetPara(IEventArgs args, ParaExp pe)
 {
     if (pe.GetUnit().Equals("robot"))
     {
         foreach (string key in args.GetUnitKeys())
         {
             if (key.Equals("robot"))
             {
                 IParable parable = args.GetUnit(key);
                 if (parable != null && parable.GetType().Name.Equals("FreeData"))
                 {
                     IPara para = parable.GetParameters().Get(pe.GetPara());
                     if (para != null)
                     {
                         return(para);
                     }
                 }
             }
         }
     }
     else
     {
         if (pe.GetUnit().Equals("player"))
         {
             foreach (string key in args.GetUnitKeys())
             {
                 if (!key.Equals("robot"))
                 {
                     IParable parable = args.GetUnit(key);
                     if (parable != null && parable.GetType().Name.Equals("FreeData"))
                     {
                         IPara para = parable.GetParameters().Get(pe.GetPara());
                         if (para != null)
                         {
                             return(para);
                         }
                     }
                 }
             }
         }
         else
         {
             IParable parable = args.GetUnit(pe.GetUnit());
             if (parable != null)
             {
                 return(pe.GetSourcePara(args));
             }
         }
     }
     return(null);
 }
コード例 #19
0
ファイル: GameFunc.cs プロジェクト: yangfan111/CsharpCode
        private void SetArg(FuncArg arg, IList <ArgValue> funcArgs, IEventArgs args)
        {
            ArgValue fa = GetArgValue(arg, funcArgs, args);

            if (fa != null)
            {
                IPara para = ParaUtil.GetPara(arg.GetType());
                if (para != null)
                {
                    try
                    {
                        IPara old = new ParaExp(fa.GetValue()).GetSourcePara(args);
                        if (old != null)
                        {
                            if (old.GetValue() != null)
                            {
                                para = para.Initial("=", old.GetValue().ToString());
                            }
                            else
                            {
                                para = para.Initial("=", string.Empty);
                            }
                        }
                        else
                        {
                            para = para.Initial("=", FreeUtil.ReplaceNumber(fa.GetValue(), args));
                        }
                    }
                    catch (Exception)
                    {
                        para = para.Initial("=", FreeUtil.ReplaceNumber(fa.GetValue(), args));
                    }
                    para.SetName("arg_" + arg.GetName());
                    args.GetDefault().GetParameters().TempUse(para);
                    IPara p = (IPara)para.Borrow();
                    p.SetName(arg.GetName());
                    if (para.GetValue() != null)
                    {
                        p.SetValue("=", para);
                    }
                    args.GetDefault().GetParameters().TempUse(p);
                    FreeLog.FuncArg(p.ToString());
                }
                else
                {
                    // 非简单变量
                    ((BaseEventArgs)args).TempUse(arg.GetName(), args.GetUnit(fa.GetValue()));
                }
            }
        }
コード例 #20
0
        public override void DoAction(IEventArgs args)
        {
            if (StringUtil.IsNullOrEmpty(key))
            {
                key = BaseEventArgs.DEFAULT;
            }
            IParable unit = args.GetUnit(key);

            if (unit != null)
            {
                IPara sort = unit.GetParameters().Get(sorter);
                if (sort != null)
                {
                    ParaListSet pls = (ParaListSet)sort;
                    if (action != null)
                    {
                        Iterator <ParaList> it = pls.Iterator();
                        int i = 1;
                        while (it.HasNext())
                        {
                            ParaList pl = it.Next();
                            args.TempUse("element", new SimpleParable(pl));
                            args.GetDefault().GetParameters().TempUse(new IntPara("index", i++));
                            if (condition == null || condition.Meet(args))
                            {
                                if (action != null)
                                {
                                    action.Act(args);
                                }
                                if (FreeUtil.ReplaceBool(remove, args))
                                {
                                    it.Remove();
                                }
                            }
                            args.GetDefault().GetParameters().Resume("index");
                            args.Resume("element");
                        }
                        if (i == 1)
                        {
                            if (noneAction != null)
                            {
                                noneAction.Act(args);
                            }
                        }
                    }
                }
            }
        }
コード例 #21
0
        public override TestValue GetCaseValue(IEventArgs args)
        {
            TestValue tv = new TestValue();
            FreeData  fd = (FreeData)args.GetUnit(UnitTestConstant.Tester);

            if (fd != null)
            {
                IPara para = fd.GetParameters().Get(field);
                if (para != null)
                {
                    tv.AddField(field, para.GetValue().ToString());
                }
            }

            return(tv);
        }
コード例 #22
0
 public override void DoAction(IEventArgs args)
 {
     if (this.args != null)
     {
         foreach (ArgValue av in this.args)
         {
             ParaValue pv = new ParaValue();
             pv.SetName(av.GetName());
             pv.SetValue(av.GetValue());
             IPara para = args.GetDefault().GetParameters().Get(av.GetName());
             if (para != null)
             {
                 if (para is IntPara)
                 {
                     pv.SetType("int");
                 }
                 if (para is StringPara)
                 {
                     pv.SetType("string");
                 }
                 if (para is BoolPara)
                 {
                     pv.SetType("bool");
                 }
                 if (para is FloatPara)
                 {
                     pv.SetType("float");
                 }
                 if (para is DoublePara)
                 {
                     pv.SetType("double");
                 }
             }
             // 如果为空,则说明在父规则中定义了当前规则的组件,所以忽略当前设置,直接使用父规则中的设置
             // 如 bioPushcar引用了 bioComponent, reliveComponent,
             // bioComponent中也引用了reliveComponent,当bioComponent设置组件值时,reliveComponent还未初始化
             // 则bioPushcar中的reliveComponent将在最后赋值,也是最终的值
             IPara paraValue = pv.GetPara(args);
             if (paraValue != null)
             {
                 args.GetDefault().GetParameters().AddPara(paraValue);
             }
         }
     }
 }
コード例 #23
0
ファイル: GameFunc.cs プロジェクト: yangfan111/CsharpCode
 private void RemoveArg(FuncArg fa, IEventArgs args)
 {
     if (fa != null)
     {
         string t = fa.GetType();
         if ("string".Equals(t) || "int".Equals(t) || "bool".Equals(t) || "float".Equals(t) || "long".Equals(t) || "double".Equals(t))
         {
             IPara p = args.GetDefault().GetParameters().Get("arg_" + fa.GetName());
             p.Recycle();
             p = args.GetDefault().GetParameters().Get(fa.GetName());
             p.Recycle();
             args.GetDefault().GetParameters().Resume("arg_" + fa.GetName());
             args.GetDefault().GetParameters().Resume(fa.GetName());
         }
         else
         {
             ((BaseEventArgs)args).Resume(fa.GetName());
         }
     }
 }
コード例 #24
0
        public virtual void Op(IEventArgs args)
        {
            IPara s   = source.GetSourcePara(args);
            IPara tt1 = t1.GetTargetPara(args, s);

            if (t2 == null)
            {
                s.SetValue("=", tt1);
            }
            else
            {
                IPara tt2  = t2.GetTargetPara(args, s);
                IPara temp = (IPara)s.Borrow();
                temp.SetValue("=", tt1);
                temp.SetValue(op, tt2);
                s.SetValue("=", temp);
                temp.Recycle();
                tt2.Recycle();
            }
            tt1.Recycle();
        }
コード例 #25
0
ファイル: FreeLog.cs プロジェクト: yangfan111/CsharpCode
 public static void Message(string msg, IEventArgs args)
 {
     if (enable)
     {
         IList <string> list = new List <string>();
         foreach (ParaExp pe in paras)
         {
             IPara pa = GetPara(args, pe);
             if (pa != null)
             {
                 list.Add(pa.GetName() + "=" + pa.GetValue());
             }
         }
         messageCount++;
         messages.Add(messageCount + "  " + DateTime.Now.ToString("u") + " " + msg + "\n   观察值:" + StringUtil.GetStringFromStrings(list, ", "));
         if (messages.Count > 1000)
         {
             messages.Remove(0);
         }
     }
 }
コード例 #26
0
ファイル: FreeLog.cs プロジェクト: yangfan111/CsharpCode
 public static long Start(IGameAction action, IEventArgs args)
 {
     if (enable)
     {
         long s = Runtime.NanoTime();
         foreach (ParaExp pe in paras)
         {
             IPara p = GetPara(args, pe);
             if (p != null)
             {
                 FreeLog.LogKey key = new FreeLog.LogKey(s, pe.ToString(), action.ToString());
                 key.index  = index;
                 key.seq    = value.Count + 1;
                 key.from   = (IPara)p.Copy();
                 value[key] = key;
             }
         }
         index++;
         return(s);
     }
     return(0L);
 }
コード例 #27
0
ファイル: PageVarious.cs プロジェクト: uuware/ClassFromDB
        public cc.Table UserTypeContrast()
        {
            //add user defined typies
            IPara ipara = new IPara();

            cc.Table tblUserType = ipara.tblUserType;

            for (int i = 0; i < lstType.Items.Count; i++)
            {
                Hashtable htbl = UserTypeContrastSplite(lstType.Items[i].ToString());
                if (htbl != null)
                {
                    DataRow dr = tblUserType.NewRow();
                    dr["usertype"]      = htbl["usertype"];
                    dr["language"]      = htbl["language"].ToString().ToLower();
                    dr["totype"]        = htbl["totype"];
                    dr["maxvalue"]      = htbl["maxvalue"];
                    dr["defaultvalue"]  = htbl["defaultvalue"];
                    dr["defaultlength"] = htbl["defaultlength"];
                    tblUserType.Rows.Add(dr);
                }
            }
            return(tblUserType);
        }
コード例 #28
0
        public override object GetValue(IEventArgs args)
        {
            if (!StringUtil.IsNullOrEmpty(autoCondition))
            {
                select = new SelectMethod(FreeUtil.ReplaceVar(autoCondition, args));
            }
            IList <ParaList> list = new List <ParaList>();
            ParaListSet      pls  = null;

            foreach (UnitPara sort in UnitPara.Parse(sorts))
            {
                IParable pa = args.GetUnit(sort.GetUnit());
                if (pa == null)
                {
                    continue;
                }
                IPara para = pa.GetParameters().Get(sort.GetPara());
                if (para == null)
                {
                    continue;
                }
                if (para != null && para is ParaListSet)
                {
                    ParaListSet ps = (ParaListSet)para;
                    pls = ps;
                    foreach (ParaList pl in ps)
                    {
                        list.Add(pl);
                    }
                }
            }
            IList <SimpleProto> results = new List <SimpleProto>();

            if (pls != null && list.Count > 0)
            {
                IList <ParaList> r = pls.Select(list, FreeUtil.ReplaceVar(order, args), capacity);
                int min            = 0;
                int max            = 0;
                if (!StringUtil.IsNullOrEmpty(range))
                {
                    string[] vs = StringUtil.Split(FreeUtil.ReplaceVar(range, args), "-");
                    if (vs.Length == 2)
                    {
                        min = int.Parse(vs[0]);
                        max = int.Parse(vs[1]);
                    }
                }
                foreach (ParaList pl in r)
                {
                    if (min != max)
                    {
                        int paraOrder = (int)pl.GetFeatureValue(ParaListSet.PARA_ORDER);
                        if (paraOrder < min || paraOrder > max)
                        {
                            continue;
                        }
                    }

                    SimpleProto b = FreePool.Allocate();
                    b.Ks.Add(0);
                    b.Key = 0;
                    b.Ss.Add("0");
                    string[] fs = StringUtil.Split(fields, ",");
                    for (int i = 0; i < fs.Length; i++)
                    {
                        b.Ks.Add(i + 1);
                        b.Ss.Add(pl.GetFeatureValue(fs[i]).ToString());
                        if (select != null)
                        {
                            pl.TempUse(new IntPara("seq", i + 1));
                            if (select.Meet(pl))
                            {
                                b.Ins.Add(2 * 100);
                            }
                            else
                            {
                                b.Ins.Add(0);
                            }
                            pl.Resume("seq");
                        }
                        else
                        {
                            b.Ins.Add(0);
                        }
                    }
                    results.Add(b);
                }
            }

            return(results.ToArray());
        }
コード例 #29
0
        private void JSTestRun_main()
        {
            //Start do something
            if (MessageBox.Show("Start RunJscript?", "Msg...", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) != DialogResult.Yes)
            {
                return;
            }
            //create new IPara
            IPara ipara = frmMain.CreateIPara();

            //set filed value
            ipara = frmMain.CreateSampleFiled(ipara);
            ipara = ClassExt.TreateFieldANDJScript(ipara);

            System.Text.StringBuilder sbJSTxt = (System.Text.StringBuilder)ipara.SystemVarious["StringBuilderJScriptTxt"];
            string sJSTxtHead = (string)ipara.SystemVarious["JScriptTxtHEAD"];
            string sJSTxtEnd  = (string)ipara.SystemVarious["JScriptTxtEND"];

            jspage = (PageJSDebugPage)tabControl1.SelectedTab.Controls[0];
            frmMain.msg.clear();
            frmMain.msg.Focus();
            frmMain.labStatus.Text = "RunJscript.";
            MainTime = System.DateTime.Now;
            frmMain.msg.println("Start:" + MainTime);
            string ErrorString = "";

            for (int i = 0; i < jspage.numRunCnt.Value; i++)
            {
                if ((int)(i / 100) == i / 100)
                {
                    frmMain.labStatus.Text = "RunCount:" + i;
                }
                string sJS;
                //not check for include define JS()
                if (jspage.chkAddJS.Checked)
                {
                    sJS = sbJSTxt.ToString() + "\r\n" + sJSTxtHead + "\r\n" + jspage.txtJS.Text + "\r\n" + sJSTxtEnd;
                }
                else
                {
                    sJS = jspage.txtJS.Text;
                }

                bool   isReset = jspage.chkReset.Checked;
                object obj     = cc.Eval.JSEvaluateToObject(sJS, isReset, out ErrorString);
                Application.DoEvents();
                if (btnCancel.Text.Equals("Cancel..."))
                {
                    frmMain.msg.println("User Cancel.");
                    return;
                }
                if (i == 0)
                {
                    if (ErrorString != null)
                    {
                        frmMain.msg.println(ErrorString, Color.Red);
                        break;
                    }
                    if (obj == null)
                    {
                        frmMain.msg.println("Run JScript error, no value return.");
                        break;
                    }
                    frmMain.msg.println("Return Type:" + obj.GetType());
                    if (!obj.GetType().FullName.Equals("Microsoft.JScript.JSObject"))
                    {
                        frmMain.msg.println("Return Value:" + obj);
                    }
                    else
                    {
                        GetScriptObjectValue((Microsoft.JScript.ScriptObject)obj, "");
                    }
                }
            }
            frmMain.labStatus.Text = "RunCount:" + jspage.numRunCnt.Value;
            frmMain.msg.println("End:" + System.DateTime.Now + "(elapsed:" + (int)((System.DateTime.Now - MainTime).TotalMilliseconds / 1000) + " Seconds)");
        }
コード例 #30
0
ファイル: ConfigGameUnit.cs プロジェクト: yangfan111/common
 public virtual void AddPara(IPara para)
 {
     this.paras.Add(para);
 }