public override void Act() { if (!string.IsNullOrEmpty(wakupMessage)) { if (remainingActionPoints == actionsPerTurn) { if (!emittedMesasge) { Narrator.ShowPieceByKey(wakupMessage); emittedMesasge = true; } else { Narrator.ClearDisplay(wakupMessage); wakupMessage = ""; } } } for (int i = 0; i < 4; i++) { if (Walk()) { break; } } }
public bool Tick() { if (remainingActionPoints == 0) { return(false); } if (remainingActionPoints == actionsPerTurn) { Narrator.ClearDisplay(narrateOnTurn); } if ( Random.value < probabilityToNarrate && !string.IsNullOrEmpty(narrateOnTurn) && remainingActionPoints == actionsPerTurn ) { Narrator.ShowPieceByKey(narrateOnTurn); } Act(); remainingActionPoints -= 1; return(true); }
public override int Activate(Location location, Vector2Int offset) { if (isClosed && location == openFrom && offset == Vector2Int.right) { if (dialgueIndex < dialogues.Length) { Narrator.ShowPieceByKey(dialogues[dialgueIndex]); dialgueIndex++; } else { Narrator.ClearDisplay(); openFrom.AddNeighbour(openTo); isClosed = false; for (int i = 0; i < roomsToActivate.Length; i++) { roomsToActivate[i].SetActive(true); } worldDoor.SetActive(false); } return(1); } return(0); }