예제 #1
0
 protected void signal_decode(SignalKey sigKey)
 {
     if (sigKey.Signal != null)
     {
         redRat3.RCDetectorEnabled = false;
         bool key_exist = all_button_name.Contains(sigKey.Signal.Name);
         if (key_exist)
         {
             BeginInvoke((MethodInvoker) delegate
             {
                 if (richTextBoxScript.Lines.Length < 1 || !sw.IsRunning)
                 {
                     sw.Restart();
                     richTextBoxScript.Text += ("redrat " + sigKey.Signal.Name + " ");
                 }
                 else
                 {
                     richTextBoxScript.Text += (Convert.ToInt32(sw.Elapsed.TotalMilliseconds) + "\n" + "redrat " + sigKey.Signal.Name + " ");
                 }
                 sw.Restart();
                 richTextBoxScript.SelectionStart = richTextBoxScript.TextLength;
                 // Scrolls the contents of the control to the current caret position.
                 richTextBoxScript.ScrollToCaret();
             });
             decision_sound.Play();
             signal_receive_Delay(150); //防止接收重複信號
             redRat3.ClearRCSignalInQueue();
             redRat3.RCDetectorEnabled = true;
         }
     }
 }
예제 #2
0
파일: Signal.cs 프로젝트: bluTomer/WCiP
 public void Setup(SignalKey key, Sprite sprite)
 {
     Key           = key;
     _image.sprite = sprite;
     _button.onClick.AddListener(OnClick);
     _audio = GetComponent <AudioSource>();
 }
예제 #3
0
    private void SetupSignal(int index, SignalKey key)
    {
        var signal = SignalFactory.CreateSignal(key);

        Signals[index] = signal;
        signal.transform.SetParent(_signalHolders[index].transform, false);
        signal.OnSignalClicked += OnSignalClicked;

        if (OnSignalChange != null)
        {
            OnSignalChange();
        }
    }
예제 #4
0
    public void AddSignal(SignalKey key)
    {
        for (int i = 0; i < NUMBER_OF_SIGNALS; i++)
        {
            if (Signals[i] != null)
            {
                continue;
            }

            // Put signal here
            SetupSignal(i, key);
            break;
        }
    }
예제 #5
0
    public static Signal CreateSignal(SignalKey key)
    {
        SignalData data;

        if (!_instance._signalDictionary.TryGetValue(key, out data))
        {
            Debug.LogErrorFormat("Couldn't find signal with key [{0}]", key);
            return(null);
        }

        var signal = Instantiate(_instance._signalPrefab);

        signal.gameObject.name = key.ToString();
        signal.Setup(key, data.Sprite);
        return(signal);
    }