void HandleInteract() { if (isInteracting && !justInteracted) { bool success = false; bool silence = false; Collider2D[] hits = Physics2D.OverlapCircleAll(transform.position, interactionRadius, LayerMask.GetMask("Interactables")); foreach (Collider2D collider in hits) { DoorSwitchBehavior dsb = collider.GetComponent <DoorSwitchBehavior>(); if (dsb != null) { success = dsb.ToggleSwitch(); } SpeakerBehavior sb = collider.GetComponent <SpeakerBehavior>(); if (sb != null) { success = sb.Speak(); silence = true; } } if (!silence) { if (!success) { textPopper.MakePopup(transform.position.x, transform.position.y + .5f, new string[] { "huh?" }, gameObject); } else { textPopper.MakePopup(transform.position.x, transform.position.y + .5f, new string[] { "yus", "diddit" }, gameObject); } } else { if (!success) //failure talking to someone { textPopper.MakePopup(transform.position.x, transform.position.y + .5f, new string[] { "..." }, gameObject); } } if (success) { audioMan.playSFX("good", transform.position); } //don't double up. justInteracted = true; } else if (!isInteracting && justInteracted) { justInteracted = false; } }
//!Wyświetla zakończenie. public void displayEnding() { SpeakerBehavior endingBehavior = endingSpeaker.GetComponent <SpeakerBehavior>(); if (revolutionEnding) { revolutionCanvas.SetActive(true); endingBehavior.setEndingDialog(revolutionDialog); } else if (reformEnding) { reformCanvas.SetActive(true); endingBehavior.setEndingDialog(reformDialog); } else { conquestCanvas.SetActive(true); endingBehavior.setEndingDialog(conquestDialog); } }