public void Run(GimmickValue value, DateTime current) { switch (parameterType) { case ParameterType.Signal: if (value.TimeStamp <= lastTriggeredAt) { return; } lastTriggeredAt = value.TimeStamp; if ((current - value.TimeStamp).TotalSeconds > Constants.Gimmick.TriggerExpireSeconds) { return; } animator.SetTrigger(animatorParameterName); break; case ParameterType.Bool: animator.SetBool(animatorParameterName, value.BoolValue); break; case ParameterType.Float: animator.SetFloat(animatorParameterName, value.FloatValue); break; case ParameterType.Integer: animator.SetInteger(animatorParameterName, value.IntegerValue); break; } }
public void Run(GimmickValue value, DateTime current) { if (lastTriggerReceivedAt == value.TimeStamp) { return; } lastTriggerReceivedAt = value.TimeStamp; var dueTime = value.TimeStamp.AddSeconds(delayTimeSeconds) - current; if (dueTime.TotalSeconds < -Constants.Gimmick.TriggerExpireSeconds) { return; } var expireAt = Time.realtimeSinceStartup + dueTime.TotalSeconds + Constants.Trigger.OwnershipExpireExpectedSeconds; void Action() { if (expireAt < Time.realtimeSinceStartup) { return; } Invoke(); } schedulerCancellation?.Dispose(); schedulerCancellation = new Scheduler.Cancellation(); Scheduler.Schedule(dueTime, Action, schedulerCancellation); }
void Run(GimmickValue value, DateTime current, bool useSameValue) { if (playableDirector == null) { return; } if (useSameValue) { if (value.TimeStamp < LastTriggeredAt) { return; } } else { if (value.TimeStamp <= LastTriggeredAt) { return; } } if (stopTimelineGimmick != null && value.TimeStamp < stopTimelineGimmick.LastTriggeredAt) { return; } LastTriggeredAt = value.TimeStamp; OnPlay?.Invoke(); var time = playableDirector.initialTime + (current - value.TimeStamp).TotalSeconds; playableDirector.time = time; playableDirector.Play(); }
public void Run(GimmickValue value, DateTime current) { if (slider == null) { slider = GetComponent <Slider>(); } slider.value = parameterType == ParameterType.Integer ? value.IntegerValue : value.FloatValue; }
void IRerunnableGimmick.Rerun(GimmickValue value, DateTime current) { var executeAt = value.TimeStamp.AddSeconds(delayTimeSeconds); if (current - TimeSpan.FromSeconds(Constants.Trigger.OwnershipExpireExpectedSeconds) < executeAt && executeAt < current) { schedulerCancellation?.Dispose(); Invoke(); } }
public void Run(GimmickValue value, DateTime current) { if (image == null) { image = GetComponent <Image>(); } var targetValue = parameterType == ParameterType.Integer ? value.IntegerValue : value.FloatValue; image.fillAmount = Mathf.InverseLerp(minValue, maxValue, targetValue); }
public void Run(GimmickValue value, DateTime current) { if (value.TimeStamp <= lastTriggeredAt) { return; } lastTriggeredAt = value.TimeStamp; if ((current - value.TimeStamp).TotalSeconds > Constants.Gimmick.TriggerExpireSeconds) { return; } OnRun?.Invoke(this); }
public void Run(GimmickValue value, DateTime current) { if (value.TimeStamp <= lastTriggeredAt) { return; } lastTriggeredAt = value.TimeStamp; if ((current - value.TimeStamp).TotalSeconds > Constants.Gimmick.TriggerExpireSeconds) { return; } shouldAddInstantForce = true; }
float GetPower(GimmickValue value) { switch (parameterType) { case ParameterType.Bool: return(value.BoolValue ? 1 : 0); case ParameterType.Float: return(value.FloatValue); case ParameterType.Integer: return(value.IntegerValue); default: throw new ArgumentOutOfRangeException(); } }
public void Run(GimmickValue value, DateTime current) { if (targetTransform == null) { return; } if (value.TimeStamp <= lastTriggeredAt) { return; } lastTriggeredAt = value.TimeStamp; if ((current - value.TimeStamp).TotalSeconds > Constants.Gimmick.TriggerExpireSeconds) { return; } movableItem.WarpTo(targetTransform.position, positionOnly ? transform.rotation : targetTransform.rotation); }
public void Run(GimmickValue value, DateTime current) { if (lastTriggerReceivedAt == value.TimeStamp) { return; } lastTriggerReceivedAt = value.TimeStamp; var dueTime = value.TimeStamp.AddSeconds(delayTimeSeconds) - current; if (dueTime.TotalSeconds < -Constants.Gimmick.TriggerExpireSeconds) { return; } schedulerCancellation?.Dispose(); schedulerCancellation = new Scheduler.Cancellation(); Scheduler.Schedule(dueTime, Invoke, schedulerCancellation); }
public void Run(GimmickValue value, DateTime current) { if (choices.Length == 0) { return; } if (value.TimeStamp <= lastTriggeredAt) { return; } lastTriggeredAt = value.TimeStamp; if ((current - value.TimeStamp).TotalSeconds > Constants.Gimmick.TriggerExpireSeconds) { return; } lastTriggeredAt = value.TimeStamp; Invoke(); }
public void Run(GimmickValue value, DateTime current) { switch (parameterType) { case ParameterType.Signal: SetText(value.TimeStamp.ToLocalTime()); return; case ParameterType.Bool: SetText(value.BoolValue); return; case ParameterType.Float: SetText(value.FloatValue); return; case ParameterType.Integer: SetText(value.IntegerValue); return; } }
public void Run(GimmickValue value, DateTime current) { if (!validated) { Validate(); } if (!isValid) { return; } if (value.TimeStamp <= lastTriggeredAt) { return; } lastTriggeredAt = value.TimeStamp; if ((current - value.TimeStamp).TotalSeconds > Constants.Gimmick.TriggerExpireSeconds) { return; } OnRunItemLogic?.Invoke(this, new RunItemLogicEventArgs(logic)); }
public void Run(GimmickValue value, DateTime current) { if (playableDirector == null) { return; } if (value.TimeStamp <= LastTriggeredAt) { return; } if (playTimelineGimmick != null && value.TimeStamp <= playTimelineGimmick.LastTriggeredAt) { return; } LastTriggeredAt = value.TimeStamp; playableDirector.time = playableDirector.initialTime; playableDirector.Evaluate(); playableDirector.Stop(); OnStopped?.Invoke(); }
public void Run(GimmickValue value, DateTime current) { if (audioSource == null) { return; } switch (parameterType) { case ParameterType.Signal: if (value.TimeStamp <= lastTriggeredAt) { return; } lastTriggeredAt = value.TimeStamp; if ((current - value.TimeStamp).TotalSeconds > Constants.Gimmick.TriggerExpireSeconds) { return; } audioSource.Play(); break; case ParameterType.Bool: if (value.BoolValue) { audioSource.Play(); } else { audioSource.Stop(); } break; default: throw new ArgumentOutOfRangeException(); } }
public void Run(GimmickValue value, DateTime current) => Run(value, current, false);
public void Run(GimmickValue value, DateTime _) { gameObject.SetActive(value.BoolValue); }
public bool TryGetValue(string key, out GimmickValue value) => values.TryGetValue(key, out value);
public void Update(string key, GimmickValue value) { values[key] = value; }
public void Run(GimmickValue value, DateTime _) { currentPower = GetPower(value); }
void IRerunnableGimmick.Rerun(GimmickValue value, DateTime current) => Run(value, current, true);
public void Run(GimmickValue value, DateTime current) { OnDestroyItem?.Invoke(new DestroyItemEventArgs { Item = item, TimestampDiffSeconds = (current - value.TimeStamp).TotalSeconds }); }
public void Run(GimmickValue value, DateTime current) { OnRun?.Invoke(new SetJumpHeightRatePlayerEffect(Mathf.Max(value.FloatValue, 0f))); }