Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            LocalSignalContainer.AddListener <SignalA>(GetSignalA);
            LocalSignalContainer.AddListener <SignalB>(GetSignalB);
        }
        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            LocalSignalContainer.RemoveListener <SignalA>(GetSignalA);
            LocalSignalContainer.RemoveListener <SignalB>(GetSignalB);

            //error
            //LocalSignalContainer.RemoveListener<SignalC>(GetSignalC);
        }
        if (Input.GetKeyDown(KeyCode.A))
        {
            LocalSignalContainer.DispatchSignal(new SignalA()
            {
                msg = "A msg broadcast"
            });
        }
        if (Input.GetKeyDown(KeyCode.B))
        {
            LocalSignalContainer.DispatchSignal(new SignalB()
            {
                msg = "B msg broadcast"
            });

            //error
            //LocalSignalContainer.DispatchSignal(new SignalC() { msg = "C msg broadcast" });
        }
    }
Ejemplo n.º 2
0
 private void Update()
 {
     if (Input.GetKeyDown(KeyCode.A))
     {
         localsignalContainer.DispatchSignal(new SignalA {
             msg = "Test A Success!"
         });
     }
     if (Input.GetKeyDown(KeyCode.R))
     {
         Pool.Clear();
     }
     if (Input.GetKeyDown(KeyCode.Alpha1))
     {
         localsignalContainer.AddListener <SignalA>(OnReceiveSignalA);
     }
     if (Input.GetKeyDown(KeyCode.Alpha2))
     {
         localsignalContainer.RemoveListener <SignalA>(OnReceiveSignalA);
     }
 }