public override void Tick(float DeltaTime) { if (IsPause || !IsAlive) { return; } Time_ += DeltaTime; if (Time_ >= Interval) { Time_ -= Interval; var Count = EmittedCountAttr.Get(); Count = Mathf.Clamp(Count, 0, int.MaxValue); for (var Index = 0u; Index < Count; ++Index) { OnEmitted(Index, (uint)Count); } OnTrigger?.Invoke((uint)Count); if (TriggerCount > 0) { TriggerCount--; if (TriggerCount == 0) { IsPause = true; IsAlive = false; } } } }
void Trigger(bool now, int line) { if (now != NowState[line]) { NowState[line] = now; LastStateDate[line] = DateTime.Now; } if (NowState[line] == LastState[line]) { return; } #region 滤波 var delay = (DateTime.Now - LastStateDate[line]).Value.TotalMilliseconds; if ((NowState[line] && delay > Config.IOCard.Line[line].OnDelay) || (!NowState[line] && delay > Config.IOCard.Line[line].OffDelay)) { LastState[line] = NowState[line]; if (now) { Task.Run(() => { OnTrigger?.Invoke(line); }); } else { Task.Run(() => { OnComplate?.Invoke(line); }); } } #endregion }
private void Listen() { while (true) { try { if (m_bStop) { Thread.Sleep(Timeout.Infinite); } /// http://blogs.msdn.com/b/bclteam/archive/2006/06/02/618156.aspx if (!m_bManualCPU) { sensor.cpu = (m_pc1 != null) ? m_pc1.NextValue() : sensor.cpu; if (sensor.cpu < 1) { sensor.cpu = 1; } } if (!m_bManualRAM) { sensor.ram = (uint)((m_pc2 != null) ? m_pc2.NextValue() : sensor.ram); //if (sensor.ramTotal == 0) sensor.ramTotal = (uint)((m_pc3 != null) ? m_pc3.NextValue() : sensor.ramTotal); } OnTrigger.Invoke(); System.Threading.Thread.Sleep(m_iUpdateRate); } catch { } } }
/// <summary> /// 触发同步 /// </summary> /// <param name="strTriggerName"></param> /// <param name="onTrigger"></param> /// <param name="args"></param> static public void Trigger(string strTriggerName, OnTrigger onTrigger, params object[] args) { if (!mTriggers.ContainsKey(strTriggerName)) { return; } ///检查是否可以触发 TriggerInfo tInfo = mTriggers[strTriggerName]; tInfo.iTriggerCount--; if (tInfo.iTriggerCount > 0) { return; } ///触发用户接口 if (onTrigger != null) { try { onTrigger(args); } catch (System.Exception ex) { LogSystem.LogError(ex.ToString()); } } ///清除触发器 mTriggers.Remove(strTriggerName); }
public virtual void Interact() { bool hasItems = HasRequiredItems(); if (!IsInteractable || !hasItems || (!Toggle && triggered) || !InteractionCountTest()) { if (IsInteractable && !triggered && !hasItems) { ShowPopupText(true); StartCoroutine(hidePopupText(2)); } return; } triggered = !triggered; if (TriggerAnimator != null) { TriggerAnimator.SetBool(OnTriggerAnimation, triggered); } OnTrigger?.Invoke(triggered, this); FindObjectOfType <PortalManager>().AlertMeter += AlertAmount; //play sound if (triggerSound) { triggerSound.Play(); } }
private void TriggerTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { if (!IsRuning) { triggerTimer?.Stop(); return; } if ((DateTime.Now - beginDate).TotalMilliseconds >= nextDelay) { Task.Run(() => { OnTrigger?.Invoke(); }); beginDate = DateTime.Now; double speed = double.Parse(App.Settings.Speed ?? "0"); nextDelay = Config.Tray.OtherInterval / speed; triggerTimes++; } if (triggerTimes >= 5) { if (triggerTimer == null) { return; } triggerTimer.Stop(); triggerTimer.Dispose(); triggerTimer.Elapsed -= TriggerTimer_Elapsed; triggerTimer = null; } }
protected virtual void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Player")) { OnTrigger?.Invoke(); } }
public static OnTrigger MakeBoxTrigger(GameObject gameObject, Vector2 size) { OnTrigger ot = null; if (gameObject.GetComponent <OnTrigger>()) { ot = gameObject.GetComponent <OnTrigger>(); } else { ot = gameObject.AddComponent <OnTrigger>(); } if (ot.start) { BoxCollider2D bc = null; if (!gameObject.GetComponent <BoxCollider2D>()) { bc = gameObject.AddComponent <BoxCollider2D>(); } else { bc = gameObject.GetComponent <BoxCollider2D>(); } bc.size = size; bc.isTrigger = true; ot.start = false; } return(ot); }
public static bool IsTriggering(GameObject gameObject) { OnTrigger ot = null; if (gameObject.GetComponent <OnTrigger>()) { ot = gameObject.GetComponent <OnTrigger>(); } else { ot = gameObject.AddComponent <OnTrigger>(); } if (ot.start) { if (!gameObject.GetComponent <PolygonCollider2D>()) { PolygonCollider2D pc = gameObject.AddComponent <PolygonCollider2D>(); pc.isTrigger = true; } else { PolygonCollider2D pc = gameObject.GetComponent <PolygonCollider2D>(); pc.isTrigger = true; } ot.start = false; } if (ot.isTrigerring) { return(true); } else { return(false); } }
private void OnTriggerEnter(Collider other) { if (OnTrigger != null) { OnTrigger.Invoke(this, other); } }
private void OnTriggerEnter(Collider other) { if (!other.isTrigger) { OnTrigger?.Invoke(this); Destroy(gameObject); } }
private void OnTriggerEnter2D(Collider2D collision) { OnTrigger.Invoke(); FindObjectOfType <AudioCreater>().PlayEquip(); Rigidbody2D player = GameObject.FindGameObjectWithTag("Player").GetComponent <Rigidbody2D>(); player.velocity = Speed; }
public void Trigger() { storyFlag.Activate(); OnTrigger?.Invoke(); Destroy(gameObject); this.Noise(audioClip); FindObjectOfType <StageManager>().Save(); }
public void Trigger(object sender, string what) { sp.GetService <FSIMTriggerHandler>(); OnTrigger?.Invoke(sender, new FSIMTriggerArgs() { What = what }); }
private void OnTriggerEnter2D(Collider2D col) { if (RecoverCoroutine == null) { RecoverCoroutine = StartCoroutine(RecoverRoutine()); OnTrigger?.Invoke(); } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.transform == target) { spriteRenderer.sprite = sps[2]; OnTrigger.Invoke(); } }
public void TriggerEnter2D(Collider2D collision) { var unit = collision.transform.GetComponentInParent <UnitController>(); if (unit != null) { OnTrigger?.Invoke(unit); } }
/// <summary> /// 创建帧延时触发器 /// </summary> /// <param name="frameDelay">延时帧数</param> /// <param name="onTrigger">回调函数</param> /// <param name="args">回调参数</param> /// <returns></returns> public static void CreateFrameTrigger(int frameDelay, OnTrigger onTrigger, params object[] args) { FrameTriggerInfo ftInfo = new FrameTriggerInfo(); ftInfo.iFrameDelay = frameDelay < 1 ? 1 : frameDelay; ftInfo.onTrigger = onTrigger; ftInfo.args = args; mFrameTrigger.Add(ftInfo); }
public virtual void Start() { trigger = hit.GetComponent <OnTrigger>(); hit.SetActive(false); if (swordTrail != null) { swordTrail.SetActive(false); } }
private void OnCollisionStay(Collision collision) { if (OnTrigger != null && IsTriggerCollision(collision)) { _deltaForceMod = 0.0f; OnTrigger.Invoke(); } }
void BroadcastEvent() { if (!moduleObject.isActiveAndEnabled || !rulepass || OnTrigger == null || timerEvent < eventInterval) { return; } timerEvent = 0f; //Position: if atSurface is true, then return water level position, otherwise return this.transform.position OnTrigger.Invoke(eventAtSurface ? new Vector3(emitPos.x, (transf.position.y + currentWaterPos) - 0.35f, emitPos.z) : transf.position, transf.rotation); }
public void Reset() { triggered = false; if (TriggerAnimator != null) { TriggerAnimator.SetBool(OnTriggerAnimation, triggered); } OnTrigger?.Invoke(triggered, this); }
public void OnMouseUp(MouseButtonEventArgs e) { if (e.Button == _triggerButton && _pressed) { if (MouseInside()) { OnTrigger?.Invoke(); } _pressed = false; } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == "Player") { PlayEquip(); OnTrigger.Invoke(); if (destroy) { Destroy(gameObject); } } }
public bool Update(float dt) { currentTime -= dt; if (currentTime < 0.0f) { currentTime = time; OnTrigger?.Invoke(); return(true); } return(false); }
public Action(KeyCode key, string name, OnTrigger onTrigger = null, OnHold onHold = null, OnRelease onRelease = null) { Key = key; Name = name; OnTriggerMethod = onTrigger; OnHoldMethod = onHold; OnReleaseMethod = onRelease; }
private IEnumerator LowerDrawbridge() { for (float i = 90; i >= 0; i -= 30 * Time.deltaTime) { transform.rotation = Quaternion.Euler(0, 0, i); yield return(null); } transform.rotation = Quaternion.Euler(0, 0, 0); OnTrigger?.Invoke(); yield return(null); }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Player") { FindObjectOfType <AudioCreater>().PlayEquip(); OnTrigger.Invoke(); Debug.Log("gg"); if (destroy) { Destroy(gameObject); } } }
public void OnInputTrigger(bool active) { if ((active && !startActive) || (!active && startActive)) { DoorOpen(); } else { DoorClose(); } OnTrigger.Invoke(active); }
public void ResolveCollision(ICollider other) { if (other == this || !other.CollideRectangle.IntersectsWith(CollideRectangle)) { return; } OnTrigger?.Invoke(other); other.InvokeTrigger(this); if (Static || !Collision || !other.Collision) { return; } OnCollision?.Invoke(other); other.InvokeCollision(this); var intersectionType = GetIntersectionType(CollideRectangle, other.CollideRectangle); if ((intersectionType == IntersectionType.Right || intersectionType == IntersectionType.Left) && other.Static) { Velocity.X = 0; } switch (intersectionType) { case IntersectionType.Left: SetX(other.CollideRectangle.Left - CollideRectangle.Width); break; case IntersectionType.Right: SetX(other.CollideRectangle.Right); break; case IntersectionType.Top: SetY(other.CollideRectangle.Top - CollideRectangle.Height + other.Velocity.Y); //Position.Y = other.CollideRectangle.Top - CollideRectangle.Height; if (Velocity.Y > 0) { Velocity.Y = 0; } break; case IntersectionType.Bottom: SetY(other.CollideRectangle.Bottom); if (Velocity.Y < 0) { Velocity.Y = 0; } break; } }
void OnEnable () { instance = this; }