public void OnEnter(IContext context) { _onButtonStateEnter.Raise(this); CurrentTimeToLive = TTL; CurrentTimeToPress = TTP; ButtonScoreValue = 0; }
public void InteractionReponse(Object[] args) { var container_data = new ContainerEventData(); container_data.Init(container_runtime); Container_Open.Raise(gameObject, container_data); }
public void UpdateState(IContext context) { CurrentTimeToLive -= Time.deltaTime; if (CurrentTimeToLive < TTL - PressBufferMax) { CurrentTimeToPress -= Time.deltaTime; } var maxcheck = CurrentTimeToLive < TTL - PressBufferMax; var mincheck = CurrentTimeToPress > 0; ShouldPress.Value = maxcheck && mincheck ? "yes" : "no"; if (ButtonPressed || ButtonFinished) { if (Result) { _onButtonStateSuccess.Raise(this, context as ButtonPressContext); ButtonScoreValue = 1; } else { _onButtonStateFailure.Raise(this, context as ButtonPressContext); } // var numstates = ((ButtonPressContext)context).ButtonPressStates.Count; // var turncount = ((ButtonPressContext)context).TurnCount; // var nextCount = (turncount + 1) % numstates; // var stateindex = Random ? UnityEngine.Random.Range(0, 4) : nextCount; context.ChangeState(((ButtonPressContext)context).NextState); } }
private void OnTriggerStay(Collider other) { if (other.CompareTag(ListenerTag.Value)) { onStay.Raise(gameObject, other.gameObject); } }
private void OnCollisionEnter(Collision other) { if (other.gameObject.tag == "Player") { ReachedCheckPoint.Raise(ReachItem); Destroy(gameObject); } }
public void InteractionSet(Object actor) { InteractorGameObject = actor as GameObject; Interactor = (InteractorGameObject != null) ? InteractorGameObject.GetComponent <IInteractor>() : null; Interactor.SetInteraction(this); EventInteraction_Set.Raise(gameObject, actor); }
private void Update() { switch (GetComponent <Transform>().tag) { case "P1": if (stats.GetStat("PExperience").Value >= 100) { LevelUpEvent.Raise(this); stats.GetStat("PExperience").Value -= 100; stats.GetStat("PLevel").Value++; UpdateStat(); } break; case "P2": if (stats.GetStat("PExperience 1").Value >= 100) { LevelUpEvent.Raise(this); stats.GetStat("PExperience 1").Value -= 100; stats.GetStat("PLevel 1").Value++; UpdateStat(); } break; case "P3": if (stats.GetStat("PExperience 2").Value >= 100) { LevelUpEvent.Raise(this); stats.GetStat("PExperience 2").Value -= 100; stats.GetStat("PLevel 2").Value++; UpdateStat(); } break; case "P4": if (stats.GetStat("PExperience 3").Value >= 100) { LevelUpEvent.Raise(this); stats.GetStat("PExperience 3").Value -= 100; stats.GetStat("PLevel 3").Value++; UpdateStat(); } break; } }
public void OnPlayerNameEntered(object[] args) { var sender = args[0]; var playerName = args[1].ToString(); if (sender == null) { return; } if (RadialSlider.SliderValue < 100) { InvalidBudgetAmountEvent.Raise(this); return; } var player = new PlayerObject() { Inputs = SliderManagers.Select(sm => sm.mainSlider.value).ToList(), Name = playerName, ResultsDictionary = new Dictionary <string, List <float> >() }; var sliderindex = 0; sliderInputs = SliderManagers.Select(s => s.mainSlider.value).ToList(); foreach (var formula in FormulaContainerRef.Formulas) { if (sliderindex < 4) { formula.input = sliderInputs[sliderindex]; sliderindex++; } formula.Calculate(); player.ResultsDictionary.Add(formula.name, formula.Results); } player.values = new List <List <float> >(); foreach (var value in player.ResultsDictionary) { player.values.Add(value.Value); } sPlayers.Add(player); if (sPlayers.Count >= playerCount) { InputComplete.Raise(this); } else { OnSuccessfulNameEntered.Invoke(); } }
private void Start() { if (_inputField == null) { _inputField = GetComponent <TMP_InputField>(); } _inputField.onSubmit.AddListener((s) => OnEndEditEvent.Raise(new object[] { this, s })); }
public void InteractionRelease() { if (Interactor != null) { Interactor.ReleaseInteraction(this); } InteractorGameObject = null; Interactor = null; EventInteraction_Released.Raise(gameObject, InteractorGameObject); }
public void ChangeState(IState next) { ButtonPressStates.ForEach(x => x.TTL = _timeToLive); ButtonPressStates.ForEach(x => x.TTP = _timeToPress); ButtonPressStates.ForEach(x => x.Random = _random); ButtonPressStates.ForEach(x => x.PressBufferMax = _pressBufferMax); CurrentState.OnExit(this); _currentTransitionTime = _timeToTransition; _onContextTimerStart.Raise(this); TurnCount++; CurrentState = next; CurrentState.OnEnter(this); }
public void OnItemPickUp(params Object[] args) { var sender = args[0] as GameObject; var item = args[1] as Item; if (sender == null) { return; } if (container_runtime.AddContent(item) == true) { Debug.Log("Added " + item.Name + " to inventory"); Item_Added.Raise(sender, item); } }
private void Open() { if (opened) { //close it opened = false; Inventory_Closed.Raise(gameObject); } else { //open it opened = true; var data = ScriptableObject.CreateInstance <ContainerEventData>().Init(container_runtime); Inventory_Opened.Raise(data); } }
public void ResetContext() { TurnCount = 0; TotalScore = 0; COMPLETE = false; ButtonPressStateIndices = new List <int>(); for (var i = 0; i < _maxTurns; ++i) { ButtonPressStateIndices.Add(UnityEngine.Random.Range(0, ButtonPressStates.Count)); } CurrentState = ButtonPressStates[ButtonPressStateIndices[TurnCount]]; CurrentState.OnEnter(this); _currentTransitionTime = _timeToTransition; SequenceInfo.IntervalStringVariable.Value = _currentTransitionTime.ToString(); _onContextReset.Raise(this); }
public void UpdateContext() { SequenceInfo.TimeToLiveStringVariable.Value = ((ButtonPressObject)CurrentState).CurrentTimeToLive.ToString(); SequenceInfo.TimeToPressStringVariable.Value = ((ButtonPressObject)CurrentState).CurrentTimeToPress.ToString(); SequenceInfo.CurrentStateName.Value = ((ButtonPressObject)CurrentState).name; if (TurnCount >= _maxTurns) { if (COMPLETE) { return; } COMPLETE = true; SequenceInfo.CurrentStateName.Value = "Finished with score of " + TotalScore; _onContextFinished.Raise(this); return; } //we do not update the current state when the transition is counting down //should look for a better way to do this since we can not have a 0 interval transition if (_currentTransitionTime > 0) { var newInterval = _currentTransitionTime - Time.deltaTime; if (newInterval < 0) { _currentTransitionTime = _timeToTransition; newInterval = 0; _onContextTimerEnd.Raise(this); } _currentTransitionTime = newInterval; SequenceInfo.CurrentStateName.Value = "Waiting..."; SequenceInfo.IntervalStringVariable.Value = _currentTransitionTime.ToString(); return; } CurrentState.UpdateState(this); }
/// <summary> /// </summary> /// <param name="args"></param> public void onContextTimerEnd(Object[] args) { var sender = args[0] as ButtonPressContext; if (sender == null) { return; } var currentState = sender.CurrentState as ButtonPressObject; if (currentState != _buttonState) { return; } ContextTimerEndResponse.Invoke(); if (RandomPosition) { if (MoveInCamera) { var x = Random.Range(0f, 1f); var y = Random.Range(0f, 1f); var z = Random.Range(3f, DistanceFromCamera); var newPos = new Vector3(x, y, 3); gameObject.MoveInCamera(newPos); } else { var canvas = GetComponentInParent <Canvas>(); var rect = canvas.GetComponent <RectTransform>().rect; gameObject.MoveObject(rect.width, rect.height); } } OnButtonGameObjectPositionChange.Raise(ButtonTransform.gameObject); }
/// <summary> /// Successful valid state change raise events and invoke unity events /// </summary> /// <param name="state"></param> private void ChangeState(ObjectiveStatus state) { Status = state; QuestChange.Raise(this); switch (Status) { case ObjectiveStatus.None: break; case ObjectiveStatus.Inactive: QuestStart.Raise(this); break; case ObjectiveStatus.Active: break; case ObjectiveStatus.Complete: QuestComplete.Raise(this); break; default: throw new ArgumentOutOfRangeException(); } }
public void OnExit(IContext context) { ((ButtonPressContext)context).TotalScore += ButtonScoreValue; _onButtonStateExit.Raise(this); }
public void InteractionEnd(Object actor) { EventInteraction_End.Raise(gameObject, InteractorGameObject); }
public void InteractionBegin(Object token) { UnityEngine.Assertions.Assert.IsNotNull(Interactor); BeginResponse.Invoke(new[] { gameObject, InteractorGameObject, token }); EventInteraction_Begin.Raise(gameObject); }
public void OnButtonClick() { SubmitButtonClicked.Raise(this); }
public void ChangeSceneEvent(string sceneName) { ButtonCLickEvent.Raise(); SceneManager.LoadScene(sceneName); }
public void OnPhysicsTriggerEnter(Object[] args) { Container.AddContent(obj: Item); ItemPickedUp.Raise(Item); Destroy(obj: gameObject); }
public void ChangeSceneEvent(params Object[] args) { ButtonClickEvent.Raise(this); SceneManager.LoadScene(""); }
private void OnCollisionEnter(Collision other) { switch (other.gameObject.tag) { case "P1": { ItemPickedUp.Raise(Item, this.gameObject); var ib = other.gameObject.GetComponent <IStorageable>(); var player = other.gameObject.transform.parent.gameObject.GetComponentInChildren <Canvas>().GetComponentInChildren <InventoryText>(); SwitchCheck(player); ib.AddToInventory(Item, gameObject); ItemObjectPooler.s_instance.Destroy(gameObject); break; } case "P2": { ItemPickedUp1.Raise(Item, this.gameObject); var ib1 = other.gameObject.GetComponent <IStorageable>(); var player = other.gameObject.transform.parent.gameObject.GetComponentInChildren <Canvas>().GetComponentInChildren <InventoryText>(); SwitchCheck(player); ib1.AddToInventory(Item, gameObject); ItemObjectPooler.s_instance.Destroy(gameObject); break; } case "P3": { ItemPickedUp2.Raise(Item, this.gameObject); var ib2 = other.gameObject.GetComponent <IStorageable>(); var player = other.gameObject.transform.parent.gameObject.GetComponentInChildren <Canvas>().GetComponentInChildren <InventoryText>(); SwitchCheck(player); ib2.AddToInventory(Item, gameObject); ItemObjectPooler.s_instance.Destroy(gameObject); break; } case "P4": { ItemPickedUp3.Raise(Item, this.gameObject); var ib3 = other.gameObject.GetComponent <IStorageable>(); var player = other.gameObject.transform.parent.gameObject.GetComponentInChildren <Canvas>().GetComponentInChildren <InventoryText>(); SwitchCheck(player); ib3.AddToInventory(Item, gameObject); ItemObjectPooler.s_instance.Destroy(gameObject); break; } } var mc = other.gameObject.GetComponent <MeshCollider>(); if (!mc) { return; } if (mc.sharedMesh != this.GetComponent <MeshCollider>().sharedMesh) { this.GetComponent <Rigidbody>().drag = 50f; TimeOffSurface = 0; StopCoroutine("OffPlanet"); } }