コード例 #1
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteBool(bool v)
        {
            if (boollist == null)
            {
                boollist = new ParamsList <bool>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetBool(v);
                }
                else
                {
                    boollist.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.BOOL, boollist.Count - 1));
                }
            }
            else
            {
                boollist.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.BOOL, boollist.Count - 1));
            }

            return(this);
        }
コード例 #2
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteColor(Color v)
        {
            if (colorList == null)
            {
                colorList = new ParamsList <Color>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetColor(v);
                }
                else
                {
                    colorList.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.Color, colorList.Count - 1));
                }
            }
            else
            {
                colorList.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.Color, colorList.Count - 1));
            }

            return(this);
        }
コード例 #3
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteLong(long v)
        {
            if (longList == null)
            {
                longList = new ParamsList <long>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetLong(v);
                }
                else
                {
                    longList.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.LONG, longList.Count - 1));
                }
            }
            else
            {
                longList.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.LONG, longList.Count - 1));
            }

            return(this);
        }
コード例 #4
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteObject(System.Object v)
        {
            if (objList == null)
            {
                objList = new ParamsList <System.Object>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetObject(v);
                }
                else
                {
                    objList.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.OBJECT, objList.Count - 1));
                }
            }
            else
            {
                objList.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.OBJECT, objList.Count - 1));
            }

            return(this);
        }
コード例 #5
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteVector3(Vector3 v)
        {
            if (vector3List == null)
            {
                vector3List = new ParamsList <Vector3>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetVector3(v);
                }
                else
                {
                    vector3List.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.VETOR3, vector3List.Count - 1));
                }
            }
            else
            {
                vector3List.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.VETOR3, vector3List.Count - 1));
            }

            return(this);
        }
コード例 #6
0
 public void OnTimerCBArgs(string name, ParamsList args)
 {
     if (this.Code.Contains(name + "Callback"))
     {
         this.Invoke(name + "Callback", new object[] { args });
     }
 }
コード例 #7
0
    public static ParamsList LoadParams()
    {
        string    MRMISGADBConn = ConfigurationManager.ConnectionStrings["MRMISGADBConnect"].ToString();
        MRMISGADB db            = new MRMISGADB(MRMISGADBConn);

        ParamsList target = new ParamsList();
        var        prm    =
            from p in db.MRParams
            orderby p.Key
            select new { p.Key, p.Value, p.ChangeDate };

        foreach (var item in prm)
        {
            Param newParam = new Param()
            {
                Key        = item.Key,
                Value      = item.Value,
                ChangeDate = item.ChangeDate
            };

            target.Params.Add(newParam);
        }

        return(target);
    }
コード例 #8
0
        /// <summary>
        /// Appends criteria to existing file contents
        /// </summary>
        /// <param name="existingContents"></param>
        /// <param name="transactionParams"></param>
        /// <param name="includeReferenceNumber"></param>
        /// <returns></returns>
        public string Append(string existingContents, IEnumerable <BaseParams> transactionParams, bool includeReferenceNumber)
        {
            ParamsList list = DeserializeFromString(existingContents);

            list.AddRange(transactionParams);
            return(SerializeToString(list, includeReferenceNumber));
        }
コード例 #9
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteUnityObject(UnityEngine.Object v)
        {
            if (UnityObjList == null)
            {
                UnityObjList = new ParamsList <UnityEngine.Object>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetUnityObj(v);
                }
                else
                {
                    UnityObjList.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.UNITYOBJECT, UnityObjList.Count - 1));
                }
            }
            else
            {
                UnityObjList.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.UNITYOBJECT, UnityObjList.Count - 1));
            }

            return(this);
        }
コード例 #10
0
ファイル: Function.cs プロジェクト: TTT-2/NeoDoc
        public override void Process(FileParser fileParser)
        {
            // if param "@local" found
            if (ParamsList != null && ParamsList.Count > 0)
            {
                for (int i = 0; i < ParamsList.Count; i++)
                {
                    if (ParamsList[i] is LocalParam)
                    {
                        Local = true;

                        ParamsList.RemoveAt(i);

                        break;
                    }
                }
            }

            Line = fileParser.Lines[fileParser.CurrentLineCount];

            if (!Local)
            {
                Match match = new Regex(@"^\s*local\s*").Match(Line);

                Local = match.Success;
            }

            if (Local)
            {
                Ignore = true;
            }

            FunctionData = GetRegex().Match(Line).Value.TrimStart('@');
            Name         = FunctionData.Replace("function ", "").Split('(')[0].Trim();
        }
コード例 #11
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteDouble(double v)
        {
            if (this.doubleList == null)
            {
                this.doubleList = new ParamsList <double>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetUnityObj(v);
                }
                else
                {
                    doubleList.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.DOUBLE, doubleList.Count - 1));
                }
            }
            else
            {
                doubleList.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.DOUBLE, doubleList.Count - 1));
            }

            return(this);
        }
コード例 #12
0
        public override string Update(TInfo info)
        {
            var param = GetParameter(info);

            #region 如果主键有值,则取消修改主键的SQL

            var indexHaveValue = Map.GetModelInfo().Key != null && Map.GetModelInfo().Key.GetValue(info, null) != null;
            if (indexHaveValue)
            {
                param.RemoveAll(o => o.ParameterName.IsEquals(dbProvider.ParamsPrefix + Map.IndexName));
            }

            #endregion

            if (param.Count == 0)
            {
                return(string.Empty);
            }

            // 要更新的表
            var sql = new StringBuilder();
            sql.AppendFormat("UPDATE {0} SET ", TableName);

            // 要更新的字段
            foreach (var parm in param)
            {
                sql.AppendFormat("{0} = {1} ,", dbProvider.CreateTableAegis(parm.ParameterName.Substring(1)),
                                 parm.ParameterName);
            }

            ParamsList.AddRange(param);

            return(sql.ToString().DelEndOf(",") + WhereString + ";");
        }
コード例 #13
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteFloat(float v)
        {
            if (this.floatList == null)
            {
                this.floatList = new ParamsList <float>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetUnityObj(v);
                }
                else
                {
                    floatList.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.FLOAT, floatList.Count - 1));
                }
            }
            else
            {
                floatList.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.FLOAT, floatList.Count - 1));
            }

            return(this);
        }
コード例 #14
0
ファイル: CreateConVar.cs プロジェクト: TTT-2/NeoDoc
        public override void Process(FileParser fileParser)
        {
            Line = fileParser.Lines[fileParser.CurrentLineCount];

            string name = null;

            if (ParamsList != null && ParamsList.Count > 0)
            {
                for (int i = 0; i < ParamsList.Count; i++)
                {
                    if (ParamsList[i] is NameParam nameParam)
                    {
                        name = nameParam.Value;

                        ParamsList.RemoveAt(i);

                        break;
                    }
                }

                if (ParamsList.Count == 0)
                {
                    ParamsList = null;
                }
            }

            Match  splitMatch = GetRegex().Match(Line);
            string result     = Line.Substring(splitMatch.Index, Line.Length - splitMatch.Index);

            ConVarData = NeoDoc.GetEntriesFromString(result, out _).ToArray();
            ConVarName = (name ?? ConVarData[0]).Trim('"');
        }
コード例 #15
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams WriteShort(short v)
        {
            if (shortlist == null)
            {
                shortlist = new ParamsList <short>();
            }

            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                if (this._OriginArgCount < _ArgCount)
                {
                    _ArgCount = this._OriginArgCount;
                    this._VirtualsetShort(v);
                }
                else
                {
                    shortlist.Add(v);
                    ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.SHORT, shortlist.Count - 1));
                }
            }
            else
            {
                shortlist.Add(v);
                _ArgCount++;
                ArgSortList.Add(new KeyValuePair <int, int>((int)ParamType.SHORT, shortlist.Count - 1));
            }

            return(this);
        }
コード例 #16
0
        public object InvokeStatic(string className, string method, ParamsList args)
        {
            Type   type;
            object result;

            if (!this.TryFindType(className.Replace('.', '+'), out type))
            {
                result = null;
            }
            else
            {
                MethodInfo method2 = type.GetMethod(method, BindingFlags.Static);
                if (method2 == null)
                {
                    result = null;
                }
                else if (method2.ReturnType == typeof(void))
                {
                    method2.Invoke(null, args.ToArray());
                    result = true;
                }
                else
                {
                    result = method2.Invoke(null, args.ToArray());
                }
            }
            return(result);
        }
コード例 #17
0
        public TimedEvent CreateTimer(string name, int timeoutDelay, ParamsList args)
        {
            TimedEvent timer = CreateTimer(name, timeoutDelay);

            timer.Args        = args.ToArray();
            timer.OnFire     -= OnTimerCB;
            timer.OnFireArgs += OnTimerCBArgs;
            return(timer);
        }
コード例 #18
0
        public TimedEvent CreateTimer(string name, int timeoutDelay, ParamsList args)
        {
            TimedEvent timedEvent = this.CreateTimer(name, timeoutDelay);

            timedEvent.Args        = args;
            timedEvent.OnFire     -= new TimedEvent.TimedEventFireDelegate(this.OnTimerCB);
            timedEvent.OnFireArgs += new TimedEvent.TimedEventFireArgsDelegate(this.OnTimerCBArgs);
            return(timedEvent);
        }
コード例 #19
0
ファイル: Function.cs プロジェクト: TTT-2/NeoDoc
        public override DataStructure CheckDataStructureTransformation()
        {
            // check whether it's a hook

            // if param "@hook" found
            if (ParamsList != null && ParamsList.Count > 0)
            {
                for (int i = 0; i < ParamsList.Count; i++)
                {
                    if (ParamsList[i] is HookParam)
                    {
                        ParamsList.RemoveAt(i);

                        if (ParamsList.Count == 0)
                        {
                            ParamsList = null;
                        }

                        return(new Hook
                        {
                            HookName = FunctionData.Replace("function ", "").Split('(')[0].Trim().Replace("GAMEMODE", "GM"),
                            HookData = FunctionData.Replace("GAMEMODE", "GM"),
                            GlobalWrapper = FunctionData.Replace("function ", "").Split(':')[0].Trim().Replace("GAMEMODE", "GM"),
                            Line = Line,
                            ParamsList = ParamsList,
                            Realm = Realm,
                            Ignore = Ignore,
                            FoundLine = FoundLine,
                            FoundPath = FoundPath,
                            IsMain = true
                        });
                    }
                }
            }

            // if "GM" or "GAMEMODE" found
            Regex regex = new Regex(@"\s*function\s*(GAMEMODE|GM)\:\w+\s*\(");

            if (regex.Match(Line).Success)
            {
                return(new Hook
                {
                    HookName = FunctionData.Replace("function ", "").Split('(')[0].Trim().Replace("GAMEMODE", "GM"),
                    HookData = FunctionData.Replace("GAMEMODE", "GM"),
                    Line = Line,
                    ParamsList = ParamsList,
                    Realm = Realm,
                    Ignore = Ignore,
                    FoundLine = FoundLine,
                    FoundPath = FoundPath,
                    IsMain = true
                });
            }

            return(base.CheckDataStructureTransformation());
        }
コード例 #20
0
        private void Click_Down(object sender, RoutedEventArgs e)
        {
            Parameter p  = (Parameter)ParamsList.SelectedItem;
            Event     ev = new Event(p.Name + " Decrease");

            ev.Effect      = new ChangeParameterEffect(Game.TheGame.Country, p.Id, 1 / GetMultiplier(p.Id), -GetAddend(p.Id));
            ev.HappensOnce = true;
            Game.TheGame.Events.Add(ev);
            ParamsList.InvalidateVisual();
        }
コード例 #21
0
        private string SerializeToString(ParamsList list, bool includeReferenceNumber)
        {
            using (TextWriter writer = new StringWriterUtf8())
                using (XmlWriter xmlWriter = XmlWriter.Create(writer, new XmlWriterSettings {
                    Indent = true, Encoding = Encoding.UTF8
                }))
                {
                    (includeReferenceNumber ? _serializerWithReferenceNumber : _serializer).Serialize(xmlWriter, list);
                    string xml = writer.ToString();

                    return(xml);
                }
        }
コード例 #22
0
        public override void Process(FileParser fileParser)
        {
            Line = fileParser.Lines[fileParser.CurrentLineCount];

            string name = null;

            if (ParamsList != null && ParamsList.Count > 0)
            {
                for (int i = 0; i < ParamsList.Count; i++)
                {
                    if (ParamsList[i] is NameParam nameParam)
                    {
                        name = nameParam.Value;

                        ParamsList.RemoveAt(i);

                        break;
                    }
                }

                if (ParamsList.Count == 0)
                {
                    ParamsList = null;
                }
            }

            Match splitMatch = GetRegex().Match(Line);

            if (splitMatch.NextMatch().Success)             // there are multiple hooks in this line
            {
                NeoDoc.WriteErrors("Multiple datastructures found", null, fileParser.relPath, fileParser.CurrentLineCount + 1, (int)NeoDoc.ERROR_CODES.MULTIPLE_DS_IN_LINE);
            }

            string result = Line.Substring(splitMatch.Index, Line.Length - splitMatch.Index);

            bool mode = new Regex(@"\s*hook\.Run\s*\(").Match(Line).Success;             // if false, "hook.Call(" is found

            List <string> tmpData = NeoDoc.GetEntriesFromString(result, out _);

            HookName = GlobalWrapper + ":" + (name ?? tmpData[0]).Trim('"');

            HookData = HookName + "(" + string.Join(", ", tmpData.GetRange(mode ? 1 : 2, tmpData.Count - (mode ? 1 : 2)).ToArray()) + ")";             // "hook.Call( string eventName, table gamemodeTable, vararg args )" or "hook.Run( string eventName, vararg args )"
        }
コード例 #23
0
        public object InvokeStatic(string className, string method, ParamsList args)
        {
            System.Type type;
            if (!this.TryFindType(className.Replace('.', '+'), out type))
            {
                return(null);
            }

            MethodInfo info = type.GetMethod(method, BindingFlags.Static);

            if (info == null)
            {
                return(null);
            }
            if (info.ReturnType == typeof(void))
            {
                info.Invoke(null, args.ToArray());
                return(true);
            }
            return(info.Invoke(null, args.ToArray()));
        }
コード例 #24
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
 public override AbstractParams InsertVector3(int index, UnityEngine.Vector3 v)
 {
     if (this.vector3List == null)
     {
         vector3List = new ParamsList <Vector3>();
     }
     if (this._OriginArgCount >= 0)
     {
         _ArgCount++;
         _virtualArg++;
         _OriginArgCount++;
         vector3List.Add(v);
         ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.VETOR3, vector3List.Count - 1));
     }
     else
     {
         _ArgCount++;
         vector3List.Add(v);
         ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.VETOR3, vector3List.Count - 1));
     }
     return(this);
 }
コード例 #25
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
 public override AbstractParams InsertLong(int index, long v)
 {
     if (this.longList == null)
     {
         longList = new ParamsList <long>();
     }
     if (this._OriginArgCount >= 0)
     {
         _ArgCount++;
         _virtualArg++;
         _OriginArgCount++;
         longList.Add(v);
         ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.LONG, longList.Count - 1));
     }
     else
     {
         _ArgCount++;
         longList.Add(v);
         ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.LONG, longList.Count - 1));
     }
     return(this);
 }
コード例 #26
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
 public override AbstractParams InsertColor(int index, Color v)
 {
     if (this.colorList == null)
     {
         colorList = new ParamsList <Color>();
     }
     if (this._OriginArgCount >= 0)
     {
         _ArgCount++;
         _virtualArg++;
         _OriginArgCount++;
         colorList.Add(v);
         ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.Color, colorList.Count - 1));
     }
     else
     {
         _ArgCount++;
         colorList.Add(v);
         ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.Color, colorList.Count - 1));
     }
     return(this);
 }
コード例 #27
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams InsertBool(int index, bool v)
        {
            if (this.boollist == null)
            {
                boollist = new ParamsList <bool>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                _OriginArgCount++;
                boollist.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.BOOL, boollist.Count - 1));
            }
            else
            {
                _ArgCount++;
                boollist.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.BOOL, boollist.Count - 1));
            }

            return(this);
        }
コード例 #28
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams InsertFloat(int index, float v)
        {
            if (floatList == null)
            {
                floatList = new ParamsList <float>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                _OriginArgCount++;
                floatList.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.FLOAT, floatList.Count - 1));
            }
            else
            {
                _ArgCount++;
                floatList.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.FLOAT, floatList.Count - 1));
            }

            return(this);
        }
コード例 #29
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams InsertDouble(int index, double v)
        {
            if (this.doubleList == null)
            {
                this.doubleList = new ParamsList <double>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                _OriginArgCount++;
                doubleList.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.DOUBLE, doubleList.Count - 1));
            }
            else
            {
                _ArgCount++;
                doubleList.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.DOUBLE, doubleList.Count - 1));
            }

            return(this);
        }
コード例 #30
0
ファイル: GenericParams.cs プロジェクト: zwwl0801/RvoProject
        public override AbstractParams InsertUnityObject(int index, UnityEngine.Object v)
        {
            if (this.UnityObjList == null)
            {
                UnityObjList = new ParamsList <UnityEngine.Object>();
            }
            if (this._OriginArgCount >= 0)
            {
                _ArgCount++;
                _virtualArg++;
                _OriginArgCount++;
                UnityObjList.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.UNITYOBJECT, UnityObjList.Count - 1));
            }
            else
            {
                _ArgCount++;
                UnityObjList.Add(v);
                ArgSortList.Insert(index, new KeyValuePair <int, int>((int)ParamType.UNITYOBJECT, UnityObjList.Count - 1));
            }

            return(this);
        }
コード例 #31
0
ファイル: MagmaPlugin.cs プロジェクト: balu92/Fougerite
 public TimedEvent CreateTimer(string name, int timeoutDelay, ParamsList args)
 {
     return this.CreateTimer(name, timeoutDelay, args.ToArray());
 }