public override void Deactivate(GameObject actor) { hasBeenHit = false; isInteracted = false; PlayAnimOff(); EventInteracted.Invoke(actor); EventDeactivated.Invoke(actor); }
public override void Activate(GameObject actor) { hasBeenHit = true; isInteracted = true; PlayAnimOn(); EventInRange.Invoke(actor); EventInteracted.Invoke(actor); EventActivated.Invoke(actor); }
public override void Interact(GameObject actor) { if (players.Any(player => player.ID == playerIDRequired) || players.Count > 0 && playerCanTrigger) { OnSprite(); isInteracted = !isInteracted; EventInteracted.Invoke(actor); EventActivated.Invoke(actor); } }
public override void Interact(GameObject actor) { if (isInteracted || Time.timeScale == 0 || !canInput) { return; } gameManager.uiManager.CanvasUI.EventDialogueClosed.AddListener(gameManager.uiManager.CanvasUI.ForceOpen); GetComponent <InteractEventHandler>().ActivateDialogue(dialogue); gameManager.uiManager.CanvasUI.encyclopedia.GetComponent <InventoryActor>().interactable = this; EventInteracted.Invoke(actor); }
public override void Interact(GameObject obj) { PlayerController player = obj.GetComponent <PlayerController>(); if (player.ID == playerIDRequired || playerIDRequired == -1) { isActivated = !isActivated; if (isActivated) { Activate(obj); } if (!isActivated && canDeactivate) { Deactivate(obj); } } EventInteracted.Invoke(obj); }
public override void Interact(GameObject obj) { if (isInteracted == true && activateOnce || Time.timeScale == 0 || !canInput) { return; } canInput = false; StartCoroutine(Delay()); PlayerController player = obj.GetComponent <PlayerController>(); SkillActor actor = player.GetComponent <SkillActor>(); Debug.Log(actor); if (!actor.skills.Any(item => item.ID == skill.ID) && !giveToSpecificPlayer) { actor.AddSkill(skill); } if (!actor.skills.Any(item => item.ID == skill.ID) && giveToSpecificPlayer) { if (player.ID == playerID && !isInteracted) { actor.AddSkill(skill); if (item != null) { gameManager.sharedInventory.AddItem(item); } GetComponent <SpriteRenderer>().sprite = on; isInteracted = true; EventActivated.Invoke(obj); EventInteracted.Invoke(obj); } else { if (Time.timeScale == 1) { EventOnWrongPlayer.Invoke(); } } } }