Exemplo n.º 1
0
 public void SendSignal(string name)
 {
     Signal.Config signal = signals.FirstOrDefault(x => x.Name == name);
     if (signal != null)
     {
         SendSignal(signals.IndexOf(signal));
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Returns the signals index with given "name".
 /// </summary>
 public int GetSignalIndex(string name, string objectName)
 {
     Signal.Config signal = GetSignal(name, objectName);
     if (signal == null)
     {
         return(-1);
     }
     return(signals.IndexOf(signal));
 }
Exemplo n.º 3
0
        //Process incoming signal
        private void ProcessSignal(Signal.Config signal, Vector3 pos)
        {
            if (!recording || pause || !signal.Record)
            {
                return;
            }

            if (DontRecordInBuild)
            {
                return;
            }

            if (signal.LookUpObject == null)
            {
                Debug.LogError(string.Format("Look up object of the signal {0} not found!", signal.Name));
                return;
            }

            if (runtimeSignals.ContainsKey(signal.LookUpObject.name))
            {
                Signal.Runtime targetSignal = runtimeSignals[signal.LookUpObject.name].FirstOrDefault(x => x.name == signal.Name);
                if (targetSignal == null)
                {
                    targetSignal = new Signal.Runtime(signal.Name, signal.LookUpObject.name, signal.CountThreshold, signal.GizmoColor, signal.GizmoSize, signal.GizmoType);
                    runtimeSignals[signal.LookUpObject.name].Add(targetSignal);
                }

                float       minDist    = 10000;
                Signal.Data targetData = null;
                foreach (Signal.Data data in targetSignal.Data)
                {
                    float dist = Vector3.Distance(pos, data.pos);
                    if (dist < minDist)
                    {
                        minDist    = dist;
                        targetData = data;
                    }
                }

                if (minDist <= signal.DistanceThreshold)
                {
                    targetData.count++;
                }
                else
                {
                    targetSignal.Add(new Signal.Data(pos, 1, Time.timeSinceLevelLoad));
                }
            }
            else
            {
                runtimeSignals.Add(signal.LookUpObject.name, new List <Signal.Runtime>()
                {
                    { new Signal.Runtime(signal.Name, signal.LookUpObject.name, signal.CountThreshold, signal.GizmoColor, signal.GizmoSize, signal.GizmoType) }
                });
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Add new signal config.
        /// </summary>
        /// <returns>Index of the new signal config. Return -1 if failed to add.</returns>
        public int AddSignal(Signal.Config config)
        {
            if (config.LookUpObject == null)
            {
                Debug.LogError("Signal doesnt have the look up object!");
                return(-1);
            }

            config.Init();
            Signal.Config signal = signals.FirstOrDefault(x => x.ObjectName == config.ObjectName && x.Name == config.Name);
            if (signal != null)
            {
                int index = signals.IndexOf(signal);
                signals[index] = config;
                return(index);
            }
            else
            {
                signals.Add(config);
                return(signals.Count - 1);
            }
        }