示例#1
0
    public override void AddSender(ActivationSender sender)
    {
        if (this.senders is null)
        {
            this.senders = new List <ActivationSender>();
        }

        this.senders.Add(sender);
    }
示例#2
0
    public override void Activate(bool isValid, ActivationSender sender)
    {
        if (solved)
        {
            return;
        }

        StartCoroutine(this.DelayedActivate(isValid, sender));
    }
示例#3
0
    public override void Activate(bool isValid, ActivationSender sender)
    {
        if (this.lastRespawnPoint != null)
        {
            this.lastRespawnPoint.Restore();
        }

        this.resetPosition = sender.transform.position;

        this.lastRespawnPoint = sender;
    }
示例#4
0
    IEnumerator DelayedActivate(bool isValid, ActivationSender sender)
    {
        yield return(new WaitForSeconds(0.4f));

        if (isValid == false)
        {
            this.currentActivations = 0;

            this.solved = false;
            this.errorSound.Play();
        }
        else
        {
            this.currentActivations++;

            if (this.currentActivations >= this.activationsNeeded)
            {
                this.solved = true;
                this.solvedSound.Play();
            }
        }
    }
示例#5
0
 // Ignored
 public override void AddSender(ActivationSender sender)
 {
 }