コード例 #1
0
ファイル: Codebuilder.cs プロジェクト: touky/Prateek
        ///---------------------------------------------------------------------

        #region Inheritable calls
        protected virtual BuildResult DoApplyValidTemplate(ref FileData fileData)
        {
            var content   = string.Empty;
            var extension = string.Empty;

            using (ProfilerScope.Open("DoApplyValidTemplate()"))
            {
                //Look for the correct script remplacement
                var scripts = TemplateRegistry.Scripts;
                for (var r = 0; r < scripts.Count; r++)
                {
                    var script = scripts[r];
                    if (isAutorun && !script.AllowAutorun)
                    {
                        continue;
                    }

                    if (script.Match(fileData.source.name, fileData.source.extension, fileData.source.content))
                    {
                        content   = script.Content.CleanText();
                        extension = script.ExportExtension;
                        break;
                    }

                    if (content != string.Empty)
                    {
                        break;
                    }
                }

                if (content == string.Empty)
                {
                    return(BuildResult.ValueType.Success | BuildResult.ValueType.NoMatchingTemplate);
                }

                content = content.Replace("#SCRIPTNAME#", fileData.source.name);

                fileData.destination.extension = extension;
                fileData.destination.SetupFileInfo();

                fileData.destination.content = content;
            }

            return(BuildResult.ValueType.Success);
        }
コード例 #2
0
 public static ProfilerScope Open(MethodInfo state)
 {
     return(ProfilerScope.Open(state == null ? "INIT" : state.ToString()));
 }
コード例 #3
0
    // Start is called before the first frame update
    void Start()
    {
        List <int> list = new List <int>(300);

        for (int i = 0; i < 100; i++)
        {
            list.Add(i);
            list.Add(i);
            list.Add(i);
        }

        int sum = 0;

        using (var ps = new ProfilerScope("Linq"))
        {
            foreach (var e in list.Distinct())
            {
                sum += e;
            }
        }

        Debug.Log(sum);

        sum = 0;

        using (new ProfilerScope("Sort"))
        {
            list.Sort();
            var l = new List <int>();
            int t = list[0];
            l.Add(t);
            for (int i = 1; i < list.Count; i++)
            {
                if (list[i] != t)
                {
                    t    = list[i];
                    sum += t;
                }
            }
        }



        Debug.Log(sum);

        //Debug.Log(t);
        //for (var i = 1; i < list.Count; i++)
        //{
        //    if (t != list[i])
        //    {
        //        t = list[i];
        //        Debug.Log(t);
        //    }
        //}
        {
            list.Sort();
            int t = list[0];
            for (int i = 1; i < list.Count; i++)
            {
                if (list[i] == t)
                {
                    list.RemoveAt(i);
                }
                else
                {
                    t = list[i];
                }
            }
        }
    }