Beispiel #1
0
        public void AddStateTimingData(ControlLevel level, IEnumerable <string> timingTypes = null)
        {
            foreach (State s in level.ActiveStates)
            {
                if (timingTypes == null)//add all state timing information to data
                {
                    AddDatum(s.StateName + "_StartFrame", () => s.TimingInfo.StartFrame);
                    AddDatum(s.StateName + "_EndFrame", () => s.TimingInfo.EndFrame);
                    AddDatum(s.StateName + "_StartTimeAbsolute", () => s.TimingInfo.StartTimeAbsolute);
                    AddDatum(s.StateName + "_StartTimeRelative", () => s.TimingInfo.StartTimeRelative);
                    AddDatum(s.StateName + "_EndTimeAbsolute", () => s.TimingInfo.EndTimeAbsolute);
                    //dataToUpdateNextFrame.Add(new HeldDatum<float>(() => s.TimingInfo.EndTimeAbsolute, data.Count - 1));
                    dataToUpdateNextFrame.Add(data.Count - 1);
                    AddDatum(s.StateName + "_EndTimeRelative", () => s.TimingInfo.EndTimeRelative);
                    //dataToUpdateNextFrame.Add(new HeldDatum<float>(() => s.TimingInfo.EndTimeRelative, data.Count - 1));
                    dataToUpdateNextFrame.Add(data.Count - 1);
                    AddDatum(s.StateName + "_Duration", () => s.TimingInfo.Duration);
                    //dataToUpdateNextFrame.Add(new HeldDatum<float>(() => s.TimingInfo.Duration, data.Count - 1));
                    dataToUpdateNextFrame.Add(data.Count - 1);
                }
                else //specify which timing information to add
                {
                    foreach (string t in timingTypes)
                    {
                        switch (t)
                        {
                        case "StartFrame":
                            AddDatum(s.StateName + "_StartFrame", () => s.TimingInfo.StartFrame);
                            break;

                        case "EndFrame":
                            AddDatum(s.StateName + "_EndFrame", () => s.TimingInfo.EndFrame);
                            break;

                        case "StartTimeAbsolute":
                            AddDatum(s.StateName + "_StartTimeAbsolute", () => s.TimingInfo.StartTimeAbsolute);
                            break;

                        case "StartTimeRelative":
                            AddDatum(s.StateName + "_StartTimeRelative", () => s.TimingInfo.StartTimeRelative);
                            break;

                        case "EndTimeAbsolute":
                            AddDatum(s.StateName + "_EndTimeAbsolute", () => s.TimingInfo.EndTimeAbsolute);
                            //dataToUpdateNextFrame.Add(new HeldDatum<float>(() => s.TimingInfo.EndTimeAbsolute, data.Count - 1));
                            dataToUpdateNextFrame.Add(data.Count - 1);
                            break;

                        case "EndTimeRelative":
                            AddDatum(s.StateName + "_EndTimeRelative", () => s.TimingInfo.EndTimeRelative);
                            //dataToUpdateNextFrame.Add(new HeldDatum<float>(() => s.TimingInfo.EndTimeRelative, data.Count - 1));
                            dataToUpdateNextFrame.Add(data.Count - 1);
                            break;

                        case "Duration":
                            AddDatum(s.StateName + "_Duration", () => s.TimingInfo.Duration);
                            //dataToUpdateNextFrame.Add(new HeldDatum<float>(() => s.TimingInfo.Duration, data.Count - 1));
                            dataToUpdateNextFrame.Add(data.Count - 1);
                            break;

                        default:
                            Debug.Log("Attempted to add state timing information called \"" + t + "\", but this is not a known timing information type.");
                            break;
                        }
                    }
                }
            }
        }
Beispiel #2
0
 public ICollection <ControlLevel> GetWriteableFor(ControlLevel controlLevel)
 {
     return(_context.ControlLevels
            .Where(x => x.Level >= controlLevel.Level)
            .ToList());
 }
Beispiel #3
0
 internal ICollection <ControlLevel> GetReadableFor(ControlLevel cleranceLevel)
 {
     return(_context.ControlLevels
            .Where(x => x.Level <= cleranceLevel.Level)
            .ToList());
 }
 private void Awake()
 {
     CL = GameObject.Find("ControleLevel").gameObject.GetComponent <ControlLevel>();
 }