示例#1
0
        public void ClearNodes()
        {
            CtrlPressed = false;

            CurrentMouseMode?.End(Event.current?.mousePosition ?? Vector2.zero);
            CurrentMouseMode = null;

            OnDeleteNode.Clear();
            OnSelectNode.Clear();
            OnDeleteNode.Clear();

            SelectedNodes.Clear();
            AllNodes.Clear();
        }
        public void ResetScript()
        {
            if (m_Script == null)
            {
                return;
            }

            bool running = Running;

            RemoveState();
            ReleaseControls();

            Stop(0);
            SceneObjectPart part = Engine.World.GetSceneObjectPart(LocalID);

            part.Inventory.GetInventoryItem(ItemID).PermsMask    = 0;
            part.Inventory.GetInventoryItem(ItemID).PermsGranter = UUID.Zero;
            AsyncCommandManager.RemoveScript(Engine, LocalID, ItemID);
            EventQueue.Clear();
            m_Script.ResetVars();
            State = "default";

            part.SetScriptEvents(ItemID,
                                 (int)m_Script.GetStateEventFlags(State));
            if (running)
            {
                Start();
            }
            m_SaveState = true;
            PostEvent(new EventParams("state_entry",
                                      new Object[0], new DetectParams[0]));
        }
        public void ApiResetScript()
        {
            // bool running = Running;

            RemoveState();
            ReleaseControls();

            m_Script.ResetVars();
            SceneObjectPart part = Engine.World.GetSceneObjectPart(LocalID);

            part.Inventory.GetInventoryItem(ItemID).PermsMask    = 0;
            part.Inventory.GetInventoryItem(ItemID).PermsGranter = UUID.Zero;
            AsyncCommandManager.RemoveScript(Engine, LocalID, ItemID);

            EventQueue.Clear();
            m_Script.ResetVars();
            State = "default";

            part.SetScriptEvents(ItemID,
                                 (int)m_Script.GetStateEventFlags(State));

            if (m_CurrentEvent != "state_entry")
            {
                m_SaveState = true;
                PostEvent(new EventParams("state_entry",
                                          new Object[0], new DetectParams[0]));
                throw new EventAbortException();
            }
        }
示例#4
0
        public void SelectOnly(IEnumerable <GraphNode> nodes)
        {
            SelectionOverride = true;

            OnSelectNode.Clear();
            OnDeselectNode.Clear();

            foreach (GraphNode node in SelectedNodes)
            {
                node.SetSelected(false);
            }

            SelectedNodes.Clear();
            SelectedNodes.AddRange(nodes);

            foreach (var node in SelectedNodes)
            {
                node.SetSelected(true);
            }
        }
示例#5
0
        public void ClearNodes()
        {
            CtrlPressed = false;

            CurrentMouseMode?.End(Event.current?.mousePosition ?? Vector2.zero);
            CurrentMouseMode = null;

            OnDeleteNode.Clear();
            OnSelectNode.Clear();
            OnDeleteNode.Clear();

            SelectedNodes.Clear();

            foreach (var node in AllNodes)
            {
                node.OnDestroy();
            }

            AllNodes.Clear();
        }
示例#6
0
 public void Open()
 {
     if (_thread == null)
     {
         _exit = false;
         _dataQueue.Clear();
         _executionQueue.Clear();
         _thread = new Thread(ThreadRun);
         _thread.IsBackground = true;
         _thread.Start();
     }
 }
        private void RecreateNodes()
        {
            _duringRecreate = true;
            {
                OnConnectNodesQueue.Clear();

                Model model;
                model.TreeAsset = TreeAsset;
                model.AssetPath = AssetPath;

                View.RecreateNodes(ref model);
                View.Repaint();
            }
            _duringRecreate = false;
        }
示例#8
0
 public void Stop(bool callbackExecute = false)
 {
     if (routine != null)
     {
         StopCoroutine(routine);
         routine = null;
     }
     if (callbackExecute)
     {
         foreach (var e in EventQueue)
         {
             e?.Invoke();
         }
     }
     EventQueue.Clear();
 }
        public void CheckOnLevelStartedEvent()
        {
            EventQueue.Clear();

            LevelUpEvents.OnLevelStarted += onLevelStarted;

            Dictionary <string, object> evtLvlStarted = new Dictionary <string, object> {
                { "handler", "onLevelStarted" },
                { "id", cDummyLevelID }
            };

            EventQueue.Enqueue(evtLvlStarted);

            _level.Start();

            //TODO: validate this is a sync call
        }
        public void CheckOnLevelEndedEvent()
        {
            EventQueue.Clear();

            LevelUpEvents.OnLevelEnded += onLevelEnded;

            Dictionary <string, object> evtLvlEnded = new Dictionary <string, object> {
                { "handler", "onLevelEnded" },
                { "id", cDummyLevelID }
            };

            EventQueue.Enqueue(evtLvlEnded);

            _level.Start();

            System.Threading.Thread.Sleep(1000);

            _level.End(true);
        }
示例#11
0
        private IEnumerator Execute(float from, float to, float time)
        {
            float startTime = Time.time;

            panel.alpha = from;
            while (Time.time <= startTime + time)
            {
                float rate  = time > 0.0f ? (Time.time - startTime) / time : 1.0f;
                var   alpha = Mathf.Lerp(from, to, rate);
                panel.alpha = alpha;
                yield return(null);
            }
            panel.alpha = to;
            foreach (var ev in EventQueue)
            {
                ev?.Invoke();
            }
            EventQueue.Clear();
        }
 public void ClearQueue()
 {
     m_TimerQueued = false;
     EventQueue.Clear();
 }
示例#13
0
 public void ClearQueue()
 {
     queue.Clear();
 }
示例#14
0
 public virtual void Rollback()
 {
     EventQueue.Clear();
 }
示例#15
0
 public void ClearDomainEvents()
 {
     EventQueue.Clear();
 }