GetExecutionOrder() private method

private GetExecutionOrder ( MonoScript script ) : int
script MonoScript
return int
示例#1
0
 private void PopulateScriptArray()
 {
     this.m_AllScripts         = MonoImporter.GetAllRuntimeMonoScripts();
     this.m_AllOrders          = new int[this.m_AllScripts.Length];
     this.m_CustomTimeScripts  = new List <MonoScript>();
     this.m_DefaultTimeScripts = new List <MonoScript>();
     for (int i = 0; i < this.m_AllScripts.Length; i++)
     {
         MonoScript script = this.m_AllScripts[i];
         this.m_AllOrders[i] = MonoImporter.GetExecutionOrder(script);
         if (IsValidScript(script))
         {
             if (this.GetExecutionOrder(script) == 0)
             {
                 this.m_DefaultTimeScripts.Add(script);
             }
             else
             {
                 this.m_CustomTimeScripts.Add(script);
             }
         }
     }
     this.m_CustomTimeScripts.Add(sDummyScript);
     this.m_CustomTimeScripts.Add(sDummyScript);
     this.m_CustomTimeScripts.Sort(new SortMonoScriptExecutionOrder(this));
     this.m_DefaultTimeScripts.Sort(new SortMonoScriptNameOrder());
     this.m_Edited      = null;
     this.m_DirtyOrders = false;
 }
示例#2
0
        private void Apply()
        {
            List <int>        list  = new List <int>();
            List <MonoScript> list2 = new List <MonoScript>();

            for (int i = 0; i < this.m_AllScripts.Length; i++)
            {
                if (MonoImporter.GetExecutionOrder(this.m_AllScripts[i]) != this.m_AllOrders[i])
                {
                    list.Add(i);
                    list2.Add(this.m_AllScripts[i]);
                }
            }
            bool success = true;

            if (Provider.enabled)
            {
                Task task = Provider.Checkout(list2.ToArray(), CheckoutMode.Meta);
                task.Wait();
                success = task.success;
            }
            if (success)
            {
                foreach (int num2 in list)
                {
                    MonoImporter.SetExecutionOrder(this.m_AllScripts[num2], this.m_AllOrders[num2]);
                }
                this.PopulateScriptArray();
            }
            else
            {
                Debug.LogError("Could not checkout scrips in version control for changing script execution order");
            }
        }
 private void PopulateScriptArray()
 {
     this.m_AllScripts         = MonoImporter.GetAllRuntimeMonoScripts();
     this.m_AllOrders          = new int[this.m_AllScripts.Length];
     this.m_CustomTimeScripts  = new List <MonoScript>();
     this.m_DefaultTimeScripts = new List <MonoScript>();
     for (int index = 0; index < this.m_AllScripts.Length; ++index)
     {
         MonoScript allScript = this.m_AllScripts[index];
         this.m_AllOrders[index] = MonoImporter.GetExecutionOrder(allScript);
         if (ScriptExecutionOrderInspector.IsValidScript(allScript))
         {
             if (this.GetExecutionOrder(allScript) == 0)
             {
                 this.m_DefaultTimeScripts.Add(allScript);
             }
             else
             {
                 this.m_CustomTimeScripts.Add(allScript);
             }
         }
     }
     this.m_CustomTimeScripts.Add(ScriptExecutionOrderInspector.sDummyScript);
     this.m_CustomTimeScripts.Add(ScriptExecutionOrderInspector.sDummyScript);
     this.m_CustomTimeScripts.Sort((IComparer <MonoScript>) new ScriptExecutionOrderInspector.SortMonoScriptExecutionOrder(this));
     this.m_DefaultTimeScripts.Sort((IComparer <MonoScript>) new ScriptExecutionOrderInspector.SortMonoScriptNameOrder());
     this.m_Edited      = (MonoScript)null;
     this.m_DirtyOrders = false;
 }
示例#4
0
        private void Apply()
        {
            List <int>        list  = new List <int>();
            List <MonoScript> list2 = new List <MonoScript>();

            for (int i = 0; i < this.m_AllScripts.Length; i++)
            {
                if (MonoImporter.GetExecutionOrder(this.m_AllScripts[i]) != this.m_AllOrders[i])
                {
                    list.Add(i);
                    list2.Add(this.m_AllScripts[i]);
                }
            }
            bool flag = true;

            if (Provider.enabled)
            {
                Task task = Provider.Checkout(list2.ToArray(), CheckoutMode.Both);
                task.SetCompletionAction(CompletionAction.UpdatePendingWindow);
                task.Wait();
                flag = task.success;
            }
            if (flag)
            {
                foreach (int current in list)
                {
                    MonoImporter.SetExecutionOrder(this.m_AllScripts[current], this.m_AllOrders[current]);
                }
                this.PopulateScriptArray();
            }
            else
            {
                Debug.LogError("Could not checkout scrips in version control for changing script execution order");
            }
        }
示例#5
0
        private void Apply()
        {
            var changedIndices = new List <int>();
            var changedScripts = new List <MonoScript>();

            for (int i = 0; i < m_AllScripts.Length; i++)
            {
                if (MonoImporter.GetExecutionOrder(m_AllScripts[i]) != m_AllOrders[i])
                {
                    changedIndices.Add(i);
                    changedScripts.Add(m_AllScripts[i]);
                }
            }

            bool editable = true;

            if (Provider.enabled)
            {
                var needToCheckout = new AssetList();
                foreach (var s in changedScripts)
                {
                    var asset = Provider.GetAssetByPath(AssetDatabase.GetAssetPath(s));
                    if (asset == null) // script might be outside of the project (e.g. in a package)
                    {
                        continue;
                    }
                    if (AssetDatabase.IsMetaFileOpenForEdit(s, StatusQueryOptions.UseCachedIfPossible))
                    {
                        continue; // might not need a checkout (not connected, etc.)
                    }
                    needToCheckout.Add(asset);
                }
                if (needToCheckout.Any())
                {
                    var task = Provider.Checkout(needToCheckout, CheckoutMode.Meta);
                    task.Wait();
                    editable = task.success;
                }
            }

            if (editable)
            {
                foreach (int index in changedIndices)
                {
                    MonoImporter.SetExecutionOrder(m_AllScripts[index], m_AllOrders[index]);
                }

                PopulateScriptArray();
            }
            else
            {
                Debug.LogError("Could not checkout scrips in version control for changing script execution order");
            }
        }
        private void Apply()
        {
            var changedIndices = new List <int>();
            var changedPaths   = new List <string>();

            for (var i = 0; i < m_AllScripts.Length; i++)
            {
                var script = m_AllScripts[i];
                if (MonoImporter.GetExecutionOrder(script) == m_AllOrders[i])
                {
                    continue;
                }

                var assetPath = AssetDatabase.GetAssetPath(script);
                if (string.IsNullOrEmpty(assetPath)) // Script might be outside of the project (e.g. in a package).
                {
                    continue;
                }

                var metaPath = AssetDatabase.GetTextMetaFilePathFromAssetPath(assetPath);
                if (!AssetDatabase.CanOpenForEdit(metaPath))
                {
                    continue;
                }

                changedIndices.Add(i);
                if (!AssetDatabase.IsOpenForEdit(metaPath)) // No VCS enabled, not connected, already checked out, etc.
                {
                    changedPaths.Add(metaPath);
                }
            }

            if (!AssetDatabase.MakeEditable(changedPaths.ToArray()))
            {
                Debug.LogError("Could not make scrips editable for changing script execution order.");
                return;
            }

            foreach (var index in changedIndices)
            {
                MonoImporter.SetExecutionOrder(m_AllScripts[index], m_AllOrders[index]);
            }

            PopulateScriptArray();
        }
示例#7
0
        void PopulateScriptArray()
        {
            m_AllScripts = MonoImporter.GetAllRuntimeMonoScripts();
            m_AllOrders  = new int[m_AllScripts.Length];

            // Create cleaned up list of scripts
            m_CustomTimeScripts  = new List <MonoScript>();
            m_DefaultTimeScripts = new List <MonoScript>();
            for (int i = 0; i < m_AllScripts.Length; i++)
            {
                MonoScript script = m_AllScripts[i];
                m_AllOrders[i] = MonoImporter.GetExecutionOrder(script);

                if (!IsValidScript(script))
                {
                    continue;
                }

                if (GetExecutionOrder(script) == 0)
                {
                    m_DefaultTimeScripts.Add(script);
                }
                else
                {
                    m_CustomTimeScripts.Add(script);
                }
            }

            // Add two dummy items used for the default time area
            m_CustomTimeScripts.Add(sDummyScript);
            m_CustomTimeScripts.Add(sDummyScript);

            // Assign and sort
            m_CustomTimeScripts.Sort(new SortMonoScriptExecutionOrder(this));
            m_DefaultTimeScripts.Sort(new SortMonoScriptNameOrder());
            m_Edited = null;

            m_DirtyOrders = false;
        }
        private void Apply()
        {
            List <int>        intList        = new List <int>();
            List <MonoScript> monoScriptList = new List <MonoScript>();

            for (int index = 0; index < this.m_AllScripts.Length; ++index)
            {
                if (MonoImporter.GetExecutionOrder(this.m_AllScripts[index]) != this.m_AllOrders[index])
                {
                    intList.Add(index);
                    monoScriptList.Add(this.m_AllScripts[index]);
                }
            }
            bool flag = true;

            if (Provider.enabled)
            {
                Task task = Provider.Checkout((UnityEngine.Object[])monoScriptList.ToArray(), CheckoutMode.Meta);
                task.Wait();
                flag = task.success;
            }
            if (flag)
            {
                using (List <int> .Enumerator enumerator = intList.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        int current = enumerator.Current;
                        MonoImporter.SetExecutionOrder(this.m_AllScripts[current], this.m_AllOrders[current]);
                    }
                }
                this.PopulateScriptArray();
            }
            else
            {
                Debug.LogError((object)"Could not checkout scrips in version control for changing script execution order");
            }
        }
示例#9
0
        private void Apply()
        {
            var changedIndices = new List <int>();
            var changedScripts = new List <MonoScript>();

            for (int i = 0; i < m_AllScripts.Length; i++)
            {
                if (MonoImporter.GetExecutionOrder(m_AllScripts[i]) != m_AllOrders[i])
                {
                    changedIndices.Add(i);
                    changedScripts.Add(m_AllScripts[i]);
                }
            }

            bool editable = true;

            if (Provider.enabled)
            {
                var task = Provider.Checkout(changedScripts.ToArray(), CheckoutMode.Meta);
                task.Wait();
                editable = task.success;
            }

            if (editable)
            {
                foreach (int index in changedIndices)
                {
                    MonoImporter.SetExecutionOrder(m_AllScripts[index], m_AllOrders[index]);
                }

                PopulateScriptArray();
            }
            else
            {
                Debug.LogError("Could not checkout scrips in version control for changing script execution order");
            }
        }