Exemple #1
0
    public void OnFrozenWellShatterTimelineDone(Script_CrackableStats ice)
    {
        Script_InteractableObjectEventsManager.IceCrackingTimelineDone(this);

        // Hide Ice Remains.
        HideIce();
    }
Exemple #2
0
    // ------------------------------------------------------------------
    // Timeline Signals
    public void HideWell()
    {
        wellObjects.ForEach(obj => obj.SetActive(false));

        // Preemptively hide all other Frozen Wells.
        Script_InteractableObjectEventsManager.FrozenWellDie(this);

        // Hide Ice on disable in case player exits before the Shattering Timeline completes.
        // (OnFrozenWellShatterTimelineDone's HideIce will not be called in this case).
        isHideOnDisable = true;
    }
    protected override void ActionDefault()
    {
        if (CheckDisabled())
        {
            return;
        }

        WellSFX();

        // Fire interaction event that Puzzle Controller can react to.
        Script_InteractableObjectEventsManager.WellInteract(this);
    }
    public virtual void TurnOn()
    {
        isOn = true;
        rendererChild.GetComponent <SpriteRenderer>().sprite = onSprite;

        if (!isStateless)
        {
            game.SetSwitchState(switchId, true);
        }

        if (!isSFXOverriden)
        {
            GetComponent <AudioSource>().PlayOneShot(Script_SFXManager.SFX.SwitchOn, Script_SFXManager.SFX.SwitchOnVol);
        }

        if (onAction.CheckUnityEventAction())
        {
            onAction.Invoke();
        }
        Script_InteractableObjectEventsManager.SwitchOn(nameId);
    }