Exemplo n.º 1
0
    /* ==== IActivable functions ==== */
    public bool OnActivate(AbstractActivator activatorObject, bool state)
    {
        if (!(canBeTurnedOff == false && state == false))
        {
            if (state)
            {
                activatorsOnCounter++;
            }
            else
            {
                activatorsOnCounter--;
            }

            if (state)
            {
                if (!needAllActivatorsOn || activatorsOnCounter == activators.Count)
                {
                    /* We try to activate and inform the calling object whether the activation has been done */
                    bool hasBeenActivated = this.Activate(activatorObject, state);

                    if (hasBeenActivated)
                    {
                        activateState       = state;
                        lastActivatorObject = activatorObject;

                        startActivationTime = Time.time;

                        if (!canBeTurnedOff)
                        {
                            foreach (AbstractActivator activator in activators)
                            {
                                activator.canBeTurnedOff = false;
                            }
                        }
                    }

                    return(hasBeenActivated);
                }
            }
            else
            {
                /* We try to activate and inform the calling object whether the activation has been done */
                bool hasBeenActivated = this.Activate(activatorObject, state);

                if (hasBeenActivated)
                {
                    activateState       = state;
                    lastActivatorObject = activatorObject;

                    foreach (AbstractActivator activator in activators)
                    {
                        activator.TurnOff();
                    }
                }
                return(hasBeenActivated);
            }
            return(true);
        }
        return(false);
    }
Exemplo n.º 2
0
    protected override bool Activate(AbstractActivator activatorObject, bool state)
    {
        // AbstractActivator activatorObject
        if (this.IsActivationAuthorized(activatorObject))
        {
            attachedGoal.Complete();

            return(true);
        }
        return(false);
    }
Exemplo n.º 3
0
    /* ==== IActivable function ==== */
    protected override bool Activate(AbstractActivator activatorObject, bool state)
    {
        // AbstractActivator activatorObject
        if (this.IsActivationAuthorized(activatorObject))
        {
            if (bedAudioClip != null && BedGoal.isStarted())
            {
                PlayAtPosition(this.transform.position);
            }

            return(true);
        }
        return(false);
    }
Exemplo n.º 4
0
    /* ==== IActivable function ==== */
    protected override bool Activate(AbstractActivator activatorObject, bool state)
    {
        // AbstractActivator activatorObject
        if (this.IsActivationAuthorized(activatorObject))
        {
            if (doorAudioClip != null)
            {
                PlayAtPosition(this.transform.position);
                OpenDoor();
            }

            return(true);
        }
        return(false);
    }
Exemplo n.º 5
0
    /* ==== IActivable function ==== */
    protected override bool Activate(AbstractActivator activatorObject, bool state)
    {
        // AbstractActivator activatorObject
        if (this.IsActivationAuthorized(activatorObject))
        {
            if (TVGoal.isStarted())
            {
                transform.GetChild(0).GetComponent <MeshRenderer>().enabled = true;
                PlayAtPosition(this.transform.position);
            }

            return(true);
        }
        return(false);
    }
Exemplo n.º 6
0
 protected abstract bool Activate(AbstractActivator activatorObject, bool state);
Exemplo n.º 7
0
 public bool IsActivationAuthorized(AbstractActivator activatorObject)
 {
     return(this.activators.Contains(activatorObject));
 }