Example #1
0
        /// <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;
         }
     }
 }
Example #3
0
        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;
         }
     }
 }