public void HandleSignal(int signal, SignalRelay sender)
 {
     foreach (SignalRelay r in _recipientRelays)
     {
         r.HandleSignal(signal, this);
     }
 }
 public void HandleSignal(int signal, SignalRelay sender)
 {
     if (signal > 0)
     {
         if (_lamp != null)
         {
             _lamp.enabled = true;
         }
         if (_lampshade != null)
         {
             DynamicGI.SetEmissive(_lampshade, _lampshadeEmissionColor * 1f);
             _lampshade.material.EnableKeyword("_EMISSION");
             _lampshade.material.globalIlluminationFlags = MaterialGlobalIlluminationFlags.RealtimeEmissive;
             //_lampshade.material.SetFloat(Emissive, _lampshadeEmission);
         }
     }
     else
     {
         if (_lamp != null)
         {
             _lamp.enabled = false;
         }
         if (_lampshade != null)
         {
             DynamicGI.SetEmissive(_lampshade, _lampshadeEmissionColor * 0f);
             _lampshade.material.DisableKeyword("_EMISSION");
             _lampshade.material.globalIlluminationFlags = MaterialGlobalIlluminationFlags.EmissiveIsBlack;
             //_lampshade.material.SetFloat(Emissive, 0f);
         }
     }
 }
 public void HandleSignal(int signal, SignalRelay sender)
 {
     if (signal > 0)
     {
         _yellowPanel.GetComponent <Renderer>().material.DisableKeyword("_EMISSION");
         _greenPanel.GetComponent <Renderer>().material.EnableKeyword("_EMISSION");
     }
     else
     {
         _yellowPanel.GetComponent <Renderer>().material.EnableKeyword("_EMISSION");
         _greenPanel.GetComponent <Renderer>().material.DisableKeyword("_EMISSION");
     }
 }
 public void HandleSignal(int signal, SignalRelay sender)
 {
     if (signal > 0 && isOn)
     {
         isOn        = false;
         timeSinceOn = 0f;
     }
     if (signal == 0 && !isOn)
     {
         isOn        = true;
         timeSinceOn = 0f;
     }
 }
Exemple #5
0
 public void HandleSignal(int signal, SignalRelay sender)
 {
     if (signal > 0)
     {
         canInteract = true;
         _redLight.GetComponent <Renderer>().material.DisableKeyword("_EMISSION");
         _yellowLight.GetComponent <Renderer>().material.EnableKeyword("_EMISSION");
     }
     else
     {
         canInteract = false;
         _redLight.GetComponent <Renderer>().material.EnableKeyword("_EMISSION");
         _yellowLight.GetComponent <Renderer>().material.DisableKeyword("_EMISSION");
     }
 }
Exemple #6
0
    public void HandleSignal(int signal, SignalRelay sender)
    {
        for (int i = 0; i < 4; i++)
        {
            if (sender == terminals[i])
            {
                cableStates[i] = signal;

                int partner = GetPartner(i * 2);
                if (partner >= 0 && terminals[partner] != null)
                {
                    terminals[partner].HandleSignal(signal, this);
                }
            }
        }
    }
 public int RequestValue(SignalRelay asker)
 {
     if (asker == relay1)
     {
         if (relay2 != null)
         {
             return(relayState2);
         }
     }
     if (asker == relay2)
     {
         if (relay1 != null)
         {
             return(relayState1);
         }
     }
     return(0);
 }
    public void HandleSignal(int signal, SignalRelay sender)
    {
        if (sender == relay1)
        {
            relayState1 = signal;
        }
        else if (sender == relay2)
        {
            relayState2 = signal;
        }
        else
        {
            return;
        }

        if (isHandlingSignal)
        {
            return;
        }

        isHandlingSignal = true;

        if (relayState1 > 0 || relayState2 > 0)
        {
            _renderer.material = _matOn;
        }
        else
        {
            _renderer.material = _matOff;
        }

        if (sender == relay2 && relay1 != null)
        {
            relay1.HandleSignal(signal, this);
        }
        if (sender == relay1 && relay2 != null)
        {
            relay2.HandleSignal(signal, this);
        }

        isHandlingSignal = false;
    }
    // Use this for initialization
    void Start()
    {
        _renderer = GetComponent <MeshRenderer>();
        if (terminal1 != null)
        {
            relay1 = terminal1.GetComponent <SignalRelay>();
        }
        if (terminal2 != null)
        {
            relay2 = terminal2.GetComponent <SignalRelay>();
        }

        if (relay1 != null)
        {
            HandleSignal(relay1.RequestValue(this), relay1);
        }
        if (relay2 != null)
        {
            HandleSignal(relay2.RequestValue(this), relay2);
        }
    }
Exemple #10
0
 public int RequestValue(SignalRelay asker)
 {
     return(0);
 }
 public void HandleSignal(int signal, SignalRelay sender)
 {
 }
 public int RequestValue(SignalRelay asker)
 {
     return(_isPowered ? 1 : 0);
 }
Exemple #13
0
 public void SetSender(SignalRelay sender)
 {
     throw new NotImplementedException();
 }