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);
 }
Пример #3
0
 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);
     }
 }
Пример #4
0
 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);
 }
Пример #5
0
    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);
    }
Пример #6
0
    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();
                }
            }
        }
    }