Beispiel #1
0
        public static void ProcessOnOutputDataReceived(object sender, DataReceivedEventArgs dataReceivedEventArgs, string salt, string filter)
        {
            var data = dataReceivedEventArgs.Data;

            if (data == null)
            {
                return;
            }

            var cacheKey = Ps.GetPIDKey(((Process)sender).Id, salt);

            var existingData = HttpRuntime.Cache[cacheKey] as List <string> ?? new List <string>();

            if (filter == null || data.Contains(filter))
            {
                existingData.Add(dataReceivedEventArgs.Data);
            }

            HttpRuntime.Cache.Insert(cacheKey,
                                     existingData,
                                     null,
                                     DateTime.UtcNow.AddSeconds("maxpsresults".AsSetting().ToSafeInt(70)),
                                     Cache.NoSlidingExpiration,
                                     CacheItemPriority.Default,
                                     null);
        }
Beispiel #2
0
        public override string ToString()
        {
            var result = new StringBuilder();

            if (Ps.HasValue)
            {
                SonarHelpers.AppendUrl(result, "ps", Ps.ToString());
            }
            SonarHelpers.AppendUrl(result, "q", Q);
            return(result.Length > 0 ? "?" + result : string.Empty);
        }
Beispiel #3
0
 public virtual void CopyFrom(Rect other)
 {
     Min.CopyFrom(other.Min);
     Max.CopyFrom(other.Max);
     Ps.Clear();
     Ps.AddRange(other.Ps);
     Ls.Clear();
     Ls.AddRange(other.Ls);
     LLs.Clear();
     LLs.AddRange(other.LLs);
 }
Beispiel #4
0
        public IHttpActionResult CreatePs(Ps ps)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Data invalid"));
            }

            ps.IsAvailable = true;
            _context.Pss.Add(ps);
            _context.SaveChanges();

            return(Ok());
        }
Beispiel #5
0
 private void Start()
 {
     Ps.Start();
     Ps.PriorityClass = m_PriorityClass;
     Ps.BeginErrorReadLine();
     if (StandardInput != null)
     {
         Inject();
     }
     AsyncExtract();
     Ps.WaitForExit();
     DoneWaitingForPs = true;
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            Int32.TryParse(Request.QueryString[QUERY_DEVICE], out _deviceIndex);
            Int32.TryParse(Request.QueryString[QUERY_FILTER], out _filterIndex);

            if (_deviceIndex < 1 || _deviceIndex > Account.Devices.Length)
            {
                Response.Redirect("mydevices.aspx");
            }

            _currentDevice = Account.Devices[_deviceIndex - 1];

            var grepCommand = String.Format("simplegrep").AsSetting();
            var sections    = grepCommand.Split(',');

            CommandToken = Ps.GetPIDKey(Ps.RunAndRead(sections[COMMANDNAME], String.Format(sections[PARAMETERS], new Regex(@"%[a-f0-9]{2}").Replace(HttpUtility.UrlEncode(_currentDevice.MACAddress), m => m.Value.ToUpperInvariant())), _currentDevice.MACAddress, _filterIndex == FILTER_ALL ? null : "email.aspx"), _currentDevice.MACAddress);
        }
Beispiel #7
0
        //Func<string,string,string,object[],out int> Fun=Reader;

        /*_执行Sql命令_*/
        public static T Exec <T>(string CmdStr, Dg <T> Ex, int Cls = 1, string ConStr = null, string CmdType = null, params object[] Ps)
        {
            T Tmp = default(T);

            ConStr = string.IsNullOrEmpty(ConStr) ? Db.Ds : ConStr;
            SqlConnection Con = new SqlConnection(ConStr);
            SqlCommand    Cmd = new SqlCommand(CmdStr, Con);

            Cmd.CommandType = string.IsNullOrEmpty(CmdType) ? CommandType.StoredProcedure : CommandType.Text;
            try
            {
                if (Con.State == ConnectionState.Closed)
                {
                    Con.Open();
                }
                if (Ps.Length > 0)
                {
                    Db.Ps(Cmd, Ps);
                }
                Tmp = Ex(Cmd);
                if (Ps != null && Ps.Length > 1 && C.Lst(Ps).ToString().StartsWith("@"))
                {
                    Ps.SetValue(Cmd.Parameters[C.Lst(Ps).ToString()].Value, Ps.Length - 1);
                }
            }
            catch (SqlException e)
            {
                if (typeof(T).ToString() != "System.Object[]")
                {
                    Tmp = (T)C.Cvt <string>(e.Message);
                }
            }
            finally
            {
                if (Cls == 1)
                {
                    Con.Close();
                }
            }
            return(Tmp);
        }
Beispiel #8
0
        public IHttpActionResult EditPs(int Id, Ps ps)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Data invalid"));
            }

            var psInDb = _context.Pss.SingleOrDefault(p => p.PsId == Id);

            if (psInDb == null)
            {
                return(BadRequest("Ps Id invalid"));
            }

            psInDb.Name      = ps.Name;
            psInDb.Price     = ps.Price;
            psInDb.IsVisible = ps.IsVisible;

            _context.SaveChanges();

            return(Ok());
        }
        public Dictionary <string, string> GetFormContent()
        {
            var content = new Dictionary <string, string>()
            {
                { "login", Login },
                { "passwd", Passwd },
                { "PPFT", PPFT },
                { "PPSX", PPSX },
                { "SI", SI },
                { "type", Type.ToString() },
                { "NewUser", NewUser.ToString() },
                { "LoginOptions", LoginOptions.ToString() }
            };

            if (NeedsRemoteNGCParams)
            {
                content.Add("ps", Ps.ToString());
                content.Add("psRNGCEntropy", PsRNGCEntropy);
                content.Add("psRNGCDefaultType", PsRNGCDefaultType.ToString());
            }

            return(content);
        }
    IEnumerator FinishDestructionAfterOneFrame()
    {
        yield return(0);

        foreach (SpriteRenderer SR in GetComponentsInChildren <SpriteRenderer>())
        {
            if (SR.gameObject.GetComponent <ProjectileBehaviourScript>() != null)
            {
                SR.enabled = false;
            }
        }

        if (this.GetType() != typeof(ExplosionBehaviourScript))
        {
            //Unparent the TrailRendererGo or the ParticleTrailGo
            foreach (TrailRenderer TR in GetComponentsInChildren <TrailRenderer>())
            {
                if (TR.gameObject.GetComponent <ProjectileBehaviourScript>() == null)
                {
                    TR.time = TR.time / 2;
                    TR.transform.SetParent(null, true);
                }
            }
            foreach (ParticleSystem Ps in GetComponentsInChildren <ParticleSystem>())
            {
                if (Ps.gameObject.GetComponent <ProjectileBehaviourScript>() == null)
                {
                    Ps.Stop();
                }
            }
        }

        if (DelayingDestruction == false)
        {
            Destroy(this.gameObject);
        }
    }
Beispiel #11
0
        private void submitParticle_Click(object sender, EventArgs e)
        {
            // ensure we have a particle system.
            if (Ps == null)
            {
                return;
            }

            SubmitClicked = true;

            string output = "";

            if (ColorPicked)
            {
                Ps.changeColor(Rgb);
                string rgb_output = "R: " + Rgb[0] + " G: " + Rgb[1] + " B: " + Rgb[2];
                output += "Changed color to: " + rgb_output + "\n";
            }

            if (ResizeValue != 0)
            {
                Resized = true;
                Ps.resize(ResizeValue);

                if (ResizeValue >= 0)
                {
                    output += "Resized to: +" + ResizeValue + "%\n";
                }
                else
                {
                    output += "Resized to: " + ResizeValue + "%\n";
                }
            }

            if (BaseName != "" && BaseName != null)
            {
                Renamed = true;
                Ps.rename(BaseName);
                output += "Renamed particle system to: " + BaseName + "\n\n";
            }
            string relPath           = "";
            bool   parentIsParticles = false;

            for (int i = 0; i < Ps.Particles.Length; i++)
            {
                Particle p = ps.Particles[i];
                System.IO.File.WriteAllText(p.Path, p.ToString());
                relPath = p.getRelativePath();

                if (i == 0 && relPath.Substring(0, relPath.LastIndexOf('/')) == "particles")
                {
                    output           += "Individual Lua Precache:\n\n";
                    parentIsParticles = true;
                }
                if (parentIsParticles)
                {
                    output += "PrecacheResource(\"particle\", \"" + relPath + "\", context)\n";
                }
            }

            if (parentIsParticles)
            {
                output += "\nIndividual DataDriven Precache:\n\n";
                output += "\"precache\"\n{";
                foreach (Particle p in Ps.Particles)
                {
                    relPath = p.getRelativePath();
                    output += "\t\"particle\"\t\t\"" + relPath + "\"\n";
                }
                output += "}\n\n";
            }
            else
            {
                output += "Lua Folder Precache:\n\n";
                //PrecacheResource("particle_folder", "particles/units/heroes/hero_enigma", context)
                string justFolder = relPath.Substring(0, relPath.LastIndexOf('/'));
                output += "PrecacheResource(\"particle_folder\", \"" + justFolder + "\", context)\n\n";
                output += "DataDriven Folder Precache:\n\n";
                output += "\"precache\"\n{\n";
                output += "\t\"particle_folder\"\t\t\"" + justFolder + "\"\n";
                output += "}\n\n";
            }
            //output += "******* End of Precache Information *******\n\n";
            output += "Note: You may have to restart the Workshop Tools for the forked particles to display correctly in the asset browser.\n\n";
            //output += "No errors detected.\n\n";
            output += "End of output.";

            if (Renamed)
            {
                // open up a window to where the modified particles are.
                //Process.Start(Ps.Paths[0].Substring(0, Ps.Paths[0].LastIndexOf('\\')));
            }
            //close form.
            this.Close();

            OutputForm of = new OutputForm();

            of.RTextBox.SelectedText = output;
            of.ShowDialog();
        }
Beispiel #12
0
 public override void OnWriteValue(Ps <char> key, IValueReader valueReader) => OnWriteValue_UTF16_Func(this, key, valueReader);
Beispiel #13
0
 public override void OnWriteValue(Ps <Utf8Byte> key, IValueReader valueReader) => OnWriteValue_UTF8_Func(this, key, valueReader);
Beispiel #14
0
 public override int GetOrdinal(Ps <Utf8Byte> name) => GetOrdinal_UTF8_Func(this, name);
Beispiel #15
0
 public override int GetOrdinal(Ps <char> name) => GetOrdinal_UTF16_Func(this, name);
Beispiel #16
0
        public static T FastReadParse <T>(Ps <char> str, JsonFormatterOptions options)
        {
            if (typeof(T) == typeof(DateTime))
            {
                if (DateTimeHelper.TryParseISODateTime(str.Pointer, str.Length, out DateTime date_time))
                {
                    return(As <DateTime, T>(date_time));
                }
            }
            else if (typeof(T) == typeof(DateTimeOffset))
            {
                if (DateTimeHelper.TryParseISODateTime(str.Pointer, str.Length, out DateTimeOffset date_time_offset))
                {
                    As <DateTimeOffset, T>(date_time_offset);
                }
            }
            else if (typeof(T) == typeof(Guid))
            {
                var(_, length, value) = NumberHelper.ParseGuid(str.Pointer, str.Length);

                if (length == str.Length)
                {
                    As <Guid, T>(value);
                }
            }
            else if (typeof(T) == typeof(long))
            {
                var(_, length, value) = NumberHelper.DecimalParseInt64(str.Pointer, str.Length);

                if (length == str.Length)
                {
                    As <long, T>(value);
                }
            }
            else if (typeof(T) == typeof(ulong))
            {
                var(_, length, value) = NumberHelper.DecimalParseUInt64(str.Pointer, str.Length);

                if (length == str.Length)
                {
                    As <ulong, T>(value);
                }
            }
            else if (typeof(T) == typeof(double))
            {
                if ((options & JsonFormatterOptions.UseSystemFloatingPointsMethods) != 0)
                {
#if Span
                    if (double.TryParse(str, out var value))
                    {
                        return(As <double, T>(value));
                    }
#endif
                }
                else
                {
                    var(_, length, value) = NumberHelper.DecimalParseDouble(str.Pointer, str.Length);

                    if (length == str.Length)
                    {
                        As <double, T>(value);
                    }
                }
            }
            else if (typeof(T) == typeof(decimal))
            {
                var(_, length, value) = NumberHelper.ParseDecimal(str.Pointer, str.Length);

                if (length == str.Length)
                {
                    As <decimal, T>(value);
                }
            }
            else if (typeof(T) == typeof(RWPathInfo))
            {
                return(As <object, T>(ParseReference(str.Pointer, str.Length)));
            }

            if (typeof(T) == typeof(long) ||
                typeof(T) == typeof(ulong) ||
                typeof(T) == typeof(double) ||
                typeof(T) == typeof(decimal))
            {
                var numberInfo = NumberHelper.GetNumberInfo(str.Pointer, str.Length);

                if (numberInfo.End == str.Length && numberInfo.IsNumber && numberInfo.IsCommonRadix(out var radix))
                {
                    if (typeof(T) == typeof(long))
                    {
                        return(As <long, T>(numberInfo.ToInt64(radix)));
                    }
                    if (typeof(T) == typeof(ulong))
                    {
                        return(As <ulong, T>(numberInfo.ToUInt64(radix)));
                    }
                    if (typeof(T) == typeof(double))
                    {
                        return(As <double, T>(numberInfo.ToDouble(radix)));
                    }

                    if (typeof(T) == typeof(decimal) && numberInfo.IsDecimal)
                    {
                        return(As <decimal, T>(numberInfo.ToDecimal()));
                    }
                }
            }

            return(SlowReadParse <T>(str.ToStringEx()));
        }
Beispiel #17
0
        /// 得到一组线从头到尾的顺序
        /// <summary>
        /// 得到一组线从头到尾的顺序
        /// </summary>
        /// <param name="Curves"></param>
        /// <returns></returns>
        public static int[] Sort_Curves(WEntity2D[] Curves)
        {
            int Quan = Curves.Length;

            WPoint2D Pt;                      /////上一条线的尾端点
            WPoint2D Ps, Pe;                  /////扫描线的起点及终点

            List <int> At = new List <int>(); /////预先存储的顺序数组

            for (int i = 1; i < Quan; i++)
            {
                At.Add(i);
            }

            int[] Ao = new int[Quan];     /////输出用的标示曲线顺序的数组
            Ao[0] = 0;
            bool[] Co = new bool[Quan];   /////输出用的标示曲线起点开始或是终点开始的数组,True为首尾颠倒
            Co[0] = true;

            WCurve2D C = (WCurve2D)Curves[0];
            int      Num;
            double   l;

            Pt = C.EndPoint;

            for (int i = 1; i < Quan; i++)
            {
                for (int j = 0; j < At.Count; j++)
                {
                    Num = At[j];
                    C   = (WCurve2D)Curves[Num];
                    Ps  = C.StartPoint;
                    Pe  = C.EndPoint;

                    l = Ps.DistanceTo(Pt);
                    if (l < WGeos2D_Paras.E_Merge)
                    {
                        Ao[i] = Num;
                        Co[i] = false;
                        Pt    = Pe;
                        At.RemoveAt(j);
                        break;
                    }
                    l = Pe.DistanceTo(Pt);
                    if (l < WGeos2D_Paras.E_Merge)
                    {
                        Ao[i] = Num;
                        Co[i] = true;
                        Pt    = Ps;
                        At.RemoveAt(j);
                        break;
                    }
                }
            }
            ////////////////
            for (int i = 0; i < Quan; i++)
            {
                Ao[i] *= 2;
                if (Co[i] == true)   /////如果首尾颠倒则输出一个奇数,否则输出一个偶数
                {
                    Ao[i]++;
                }
            }
            return(Ao);
        }
Beispiel #18
0
            public void PrepareInstances(List <ShapeInstance> Instances, BoardSpec BS, bool showtext = true)
            {
                Colors[LayerSpec.ParseLayer("PADS", BS.Layers, LayerType.Copper)] = PADColor;
                Colors[LayerSpec.ParseLayer("1", BS.Layers)] = CopperColor;
                Colors[LayerSpec.ParseLayer("TOPCOPPER", BS.Layers, LayerType.Copper)]    = CopperColor;
                Colors[LayerSpec.ParseLayer("BOTHCOPPER", BS.Layers, LayerType.Copper)]   = CopperColor;
                Colors[LayerSpec.ParseLayer("BOTTOMCOPPER", BS.Layers, LayerType.Copper)] = CopperColor;
                Colors[LayerSpec.ParseLayer("DRILL", BS.Layers)]  = DrillColor;
                Colors[LayerSpec.ParseLayer("DRILLS", BS.Layers)] = DrillColor;

                /*Colors[LayerSpec.ParseLayer("16", BS.Layers)] = CopperColor;
                 * Colors[LayerSpec.ParseLayer("21", BS.Layers)] = SilkColor;
                 * Colors[LayerSpec.ParseLayer("51", BS.Layers)] = DocuColor;
                 * Colors[LayerSpec.ParseLayer("52", BS.Layers)] = DocuColor;
                 * Colors[LayerSpec.ParseLayer("22", BS.Layers)] = SilkColor;
                 * Colors[LayerSpec.ParseLayer("25", BS.Layers)] = SilkColor;
                 * Colors[LayerSpec.ParseLayer("26", BS.Layers)] = SilkColor;
                 * Colors[LayerSpec.ParseLayer("27", BS.Layers)] = SilkColor;
                 * Colors[LayerSpec.ParseLayer("28", BS.Layers)] = SilkColor;
                 * Colors[LayerSpec.ParseLayer("94", BS.Layers)] = SymbolsColor;*/
                foreach (var a in BS.Layers)
                {
                    switch (a.type)
                    {
                    case LayerType.Copper: Colors[a] = CopperColor; break;

                    case LayerType.Silk: Colors[a] = SilkColor; break;

                    case LayerType.Docu: Colors[a] = DocuColor; break;

                    case LayerType.Drill: Colors[a] = DrillColor; break;
                    }
                }

                LayerPriority[LayerSpec.ParseLayer("21", BS.Layers)]     = 100;
                LayerPriority[LayerSpec.ParseLayer("22", BS.Layers)]     = 100;
                LayerPriority[LayerSpec.ParseLayer("25", BS.Layers)]     = 100;
                LayerPriority[LayerSpec.ParseLayer("26", BS.Layers)]     = 100;
                LayerPriority[LayerSpec.ParseLayer("27", BS.Layers)]     = 100;
                LayerPriority[LayerSpec.ParseLayer("28", BS.Layers)]     = 100;
                LayerPriority[LayerSpec.ParseLayer("51", BS.Layers)]     = 101;
                LayerPriority[LayerSpec.ParseLayer("52", BS.Layers)]     = 101;
                LayerPriority[LayerSpec.ParseLayer("DRILL", BS.Layers)]  = 200;
                LayerPriority[LayerSpec.ParseLayer("DRILLS", BS.Layers)] = 200;
                LayerPriority[LayerSpec.ParseLayer("TOPCOPPER", BS.Layers, LayerType.Copper)]    = 90;
                LayerPriority[LayerSpec.ParseLayer("BOTTOMCOPPER", BS.Layers, LayerType.Copper)] = 90;
                LayerPriority[LayerSpec.ParseLayer("BOTHCOPPER", BS.Layers, LayerType.Copper)]   = 90;

                int count       = 0;
                int vertexcount = 0;

                foreach (var I in Instances)
                {
                    if (I.Bounds == null)
                    {
                        I.Bounds = GetInstanceBounds(I);
                    }
                    var ThePackage = I.TheShape;
                    foreach (var a in ThePackage.Shapes)
                    {
                        LayerSpec layer = a.GetLayer();
                        if (Layers.ContainsKey(layer) == false)
                        {
                            Layers[layer] = 1;
                            if (LayerPriority.ContainsKey(layer))
                            {
                                Layers[layer] = LayerPriority[layer];
                            }
                            ShapeLists[layer] = new List <List <Tuple <SchematicNet, List <PointF> > > >();
                            count++;
                        }
                    }


                    Matrix R = new Matrix();
                    R.Translate((float)I.Position.X, (float)I.Position.Y);
                    if (I.TopSide == false)
                    {
                        R.Scale(-1, 1);
                    }
                    R.Rotate((float)I.Rotation);

                    foreach (var a in ThePackage.Shapes)
                    {
                        SchematicNet ShapeSignal = null;
                        if (I.Placement != null && I.Placement.Pins.ContainsKey(a.Name))
                        {
                            ShapeSignal = I.Placement.Pins[a.Name].signal;
                        }

                        var DBP = a.GetDebugPoints().ToArray();

                        var  PolySet = new List <Tuple <SchematicNet, List <PointF> > >();
                        bool process = true;
                        if (a as TextShape != null && showtext == false)
                        {
                            process = false;
                        }
                        if (process)
                        {
                            foreach (var Ps in a.GetPolygons())
                            {
                                double minx = 0;
                                double miny = 0;
                                double maxx = 0;
                                double maxy = 0;;

                                var P = Ps.ToArray();
                                for (int i = 0; i < P.Count(); i++)
                                {
                                    PointF[] rotP = { new PointF(P[i].X, P[i].Y) };
                                    R.TransformPoints(rotP);
                                    P[i].X = rotP[0].X;
                                    P[i].Y = rotP[0].Y;
                                    Bounds.FitPoint(P[i].X, P[i].Y);
                                    if (vertexcount == 0)
                                    {
                                        minx = maxx = P[i].X;
                                        miny = maxy = P[i].Y;
                                    }
                                    else
                                    {
                                        if (P[i].X < minx)
                                        {
                                            minx = P[i].X;
                                        }
                                        else if (P[i].X > maxx)
                                        {
                                            maxx = P[i].X;
                                        }
                                        if (P[i].Y < miny)
                                        {
                                            miny = P[i].Y;
                                        }
                                        else if (P[i].Y > maxy)
                                        {
                                            maxy = P[i].Y;
                                        }
                                    }

                                    vertexcount++;
                                }
                                I.Centroid = new PointF((float)(minx + maxx) / 2, (float)(miny + maxy) / 2);
                                PolySet.Add(new Tuple <SchematicNet, List <PointF> >(ShapeSignal, P.ToList()));
                            }
                        }
                        if (StringsPerLayer.ContainsKey(a.GetLayer()) == false)
                        {
                            StringsPerLayer[a.GetLayer()] = new List <DisplayString>();
                        }
                        foreach (var ds in a.DisplayStrings)
                        {
                            StringsPerLayer[a.GetLayer()].Add(new DisplayString()
                            {
                                alignment = ds.alignment, size = ds.size, x = ds.x + I.Position.X, Text = ds.Text, y = ds.y + I.Position.Y
                            });
                        }
                        ShapeLists[a.GetLayer()].Add(PolySet);
                        for (int i = 0; i < DBP.Count(); i++)
                        {
                            DBP[i].X += I.Position.X;
                            DBP[i].Y += I.Position.Y;
                        }
                        debugpoints.AddRange(DBP.ToList());
                    }
                }

                if (count == 0)
                {
                    return;
                }


                foreach (var l in ShapeLists.Values)
                {
                    foreach (var k in l)
                    {
                        foreach (var q in k)
                        {
                            foreach (var p in q.Item2)
                            {
                                Bounds.FitPoint(p.X, p.Y);
                            }
                        }
                    }
                }
            }