/// <summary> /// Will only return a mapping when not in play mode. /// </summary> public static Dictionary <Entity, List <int> > GetEntityToComponentGroupsMapping(EntityAdmin admin, out ComponentGroup[] componentGroups) { Dictionary <Entity, List <int> > entityToComponentGroups = new Dictionary <Entity, List <int> >(); if (!HostHelper.PlayingGame) { // Determining component groups is expensive because it involves serializing the object graphs. // It also has very little relavence when running in playback mode, so only do this in editor mode. componentGroups = admin.GetComponents <ComponentGroup>(true).ToArray(); for (int i = 0; i < componentGroups.Length; i++) { List <Component> components = new List <Component>(); Serialization.SerializationHelper.Serialize(componentGroups[i], components); var thisGroupEntities = GetEntities(components); foreach (var thisEntity in thisGroupEntities) { if (!entityToComponentGroups.ContainsKey(thisEntity)) { entityToComponentGroups[thisEntity] = new List <int>(); } entityToComponentGroups[thisEntity].Add(i); } } } else { componentGroups = new ComponentGroup[0]; } return(entityToComponentGroups); }
public override void Tick(EntityAdmin admin) { foreach (DisplayProfileAdjuster adjuster in admin.GetComponents <DisplayProfileAdjuster>()) { if (adjuster.Initialized) { if (adjuster.FullBrightnessOutput > adjuster.ZeroBrightnessOutput) { adjuster.FullBrightnessOutput = adjuster.ZeroBrightnessOutput; } FrameOutput.DisplayProfile.AspectRatio = adjuster.ApsectRatio; FrameOutput.DisplayProfile.FullBrightnessOutput = adjuster.FullBrightnessOutput; FrameOutput.DisplayProfile.ZeroBrightnessOutput = adjuster.ZeroBrightnessOutput; FrameOutput.DisplayProfile.FidelityScale = adjuster.FidelityScale; } else { adjuster.ApsectRatio = FrameOutput.DisplayProfile.AspectRatio; adjuster.FullBrightnessOutput = FrameOutput.DisplayProfile.FullBrightnessOutput; adjuster.ZeroBrightnessOutput = FrameOutput.DisplayProfile.ZeroBrightnessOutput; adjuster.FidelityScale = FrameOutput.DisplayProfile.FidelityScale; adjuster.Initialized = true; } } }
private static unsafe void SubmitSceneGraphWindow(EntityAdmin admin) { ImGui.Begin("Scene Graph"); var list = admin.GetComponents <Transform>(true).Where(trans => trans.Parent == null).ToList(); AddSceneGraphTransforms(admin, list); ImGui.End(); scrollSceneGraphView = false; }
public override void Tick(EntityAdmin admin) { foreach (CalibrationLineController controller in admin.GetComponents <CalibrationLineController>()) { foreach (Shapes.CalibrationLine line in controller.Lines.Where(line => line != null)) { line.BlankingPadding = controller.BlankingPadding; line.RepeatCount = controller.RepeatCount; line.StepDistance = controller.StepDistance; } } }