public void ItemsToCheck(SoulState soulState, bool paperSign) { _actualSoul = soulState; for (int i = 0; i < _soulChecker.valuesToCheck.Length; i++) { if (!wrongValue) { SetValueTypes(_soulChecker.valuesToCheck[i]); } } if (wrongValue) { wrongValue = false; if (paperSign) { _wrongAnswer.Invoke(); } //Descomentar caso for preciso validar acerto quando queima o papel errado // else // _trueAnswer?.Invoke(); } else { if (!paperSign) { _wrongAnswer?.Invoke(); } else { _trueAnswer?.Invoke(); } } }
public GameObject SpawnPaper(SoulState soulState) { SoulState = soulState; var soulProps = Enum.GetValues(typeof(SoulProp)).Cast <SoulProp>(); foreach (var prop in soulProps) { SetSoulProps(prop); } return(InstantiatePaper()); }
public GameObject SpawnSoul(SoulState soulState, Transform waypoint) { SoulState = soulState; Waypoint = waypoint; var soulProps = Enum.GetValues(typeof(SoulProp)).Cast <SoulProp>(); foreach (var prop in soulProps) { SetSoulProps(prop); } return(InstantiateSoul()); }
private void GetQueueSoul(int?index = null) { _actualSoulIndex = index ?? (_actualSoulIndex + 1) % _souls.Count; _actualSoulState = _souls[_actualSoulIndex]; }
private void GetRandomSoul() { int r = rnd.Next(_souls.Count); _actualSoulState = _souls[r]; }
void UpdateSoulStateForTracking() { // Actualizo la info de donde esta el alma en relacion a cielo/infierno relativeSoulValue = (backgroundOriginalY - backgroundTransform.position.y) - (0 - transform.position.y); normalizedSoulValue = relativeSoulValue / heavenValue; switch (soulState){ case SoulState.IN_BETWEEN: // Alcanzo el cielo o el infierno? if(backgroundTransform.position.y >= backgroundOriginalY + backgroundHeight * 0.5f - screenHeight * 0.5f){ backgroundRigidbody.velocity = Vector2.zero; soulState = SoulState.IN_HELL; }else if(backgroundTransform.position.y <= backgroundOriginalY - backgroundHeight * 0.5f + screenHeight * 0.5f){ backgroundRigidbody.velocity = Vector2.zero; soulState = SoulState.IN_HEAVEN; } break; case SoulState.IN_HEAVEN: // Volvio a ser chupado hasta el medio? O llego hasta el tope y gano el cielo? // FIXME que compare el x con la aspiradora if(transform.position.y < topRightCoords.y - screenHeight * 0.5f){ soulState = SoulState.IN_BETWEEN; transform.position = new Vector3(transform.position.x, 0, 0); }else if(Mathf.Abs(topRightCoords.y - transform.position.y) <= 0.5f){ // Lo agarro la aspiradora o paso por un costado? EvaluateWinCondition(Game.heavenPlayerIndex, CelestialAlignment.HEAVEN); } break; case SoulState.IN_HELL: // Volvio a ser chupado hasta el medio? O llego hasta el tope y gano el infierno? // FIXME que compare el x con la aspiradora if(transform.position.y > bottomLeftCoords.y + screenHeight * 0.5f){ soulState = SoulState.IN_BETWEEN; transform.position = new Vector3(transform.position.x, 0, 0); }else if(Mathf.Abs(bottomLeftCoords.y - transform.position.y) <= 0.5f){ // Lo agarro la aspiradora o paso por un costado? EvaluateWinCondition(Game.hellPlayerIndex, CelestialAlignment.HELL); } break; } }
public void CheckDiscrepancy(SoulState soulState) { }