Exemplo n.º 1
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var filledGraph = VisualizerFactory.InstantiateFilledGraph();

            filledGraph.Initialize(this, payload);

            AssignStates(filledGraph);


            var mainColor = MainColor.GetFirstValue(payload.Data);


            foreach (var entry in EntryField.GetEntries(payload.Data))
            {
                filledGraph.AddPoint(ZAxis.GetValue(entry),
                                     YAxis.GetValue(entry));
            }

            filledGraph.SetGraphData(
                mainColor);

            filledGraph.ApplyPoints();

            var iterator = Router.TransmitAll(payload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Exemplo n.º 2
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var memoryGraph = VisualizerFactory.InstantiateMemoryGraph();

            memoryGraph.Initialize(this, payload);

            foreach (var entry in DashStartPosition.GetEntries(payload.Data))
            {
                var startPosition = DashStartPosition.GetValue(entry);

                var dashWidth = DashWidth.GetValue(entry);
                var dashDepth = DashDepth.GetValue(entry);
                var elevation = Elevation.GetValue(entry);

                var dashColor = DashColor.GetValue(entry);

                memoryGraph.AddDash(
                    startPosition,
                    new Vector3(dashWidth, elevation, dashDepth),
                    dashColor);

                yield return(null);
            }

            yield return(null);

            memoryGraph.ApplyPoints();
        }
        public static DisassemblyWindowVisualizer GetWindowVisualizer(string groupKey, string windowKey)
        {
            // Return if already made
            if (WindowVisualizers.ContainsKey(groupKey))
            {
                if (WindowVisualizers[groupKey].ContainsKey(windowKey))
                {
                    return(WindowVisualizers[groupKey][windowKey]);
                }
            }

            // Create or get the group visualizer
            var groupVisualizer = GetGroupVisualizer(groupKey);


            // Create the window
            var windowVisualizerGo = VisualizerFactory.InstantiateDisassemblyWindow();
            var windowVisualizer   = windowVisualizerGo.GetComponent <DisassemblyWindowVisualizer>();

            // Register
            WindowVisualizers[groupKey].Add(windowKey, windowVisualizer);


            // Parent
            groupVisualizer.Attach(windowVisualizer);


            // Return
            return(windowVisualizer);
        }
 public SensorManager()
 {
     this.dictSensorsVisualizer = new Dictionary <Sensor, Visualizer>();
     this.converterTypes        = new Dictionary <Enumerations.PhysicalUnit, Type>();
     this.factory = new VisualizerFactory();
     this.running = false;
     findConverters();
 }
Exemplo n.º 5
0
        public ChallengeSetVisualizer ConstructCsViewStep1(
            ICsBitStream significant,
            ICsBitStream insignificant,
            int fileSize,
            float sizeOffset)
        {
            var newCsView = VisualizerFactory.InstantiateChallengeSetVisualizer();

            newCsView.DetailMaterial = GameObject.Instantiate(newCsView.DetailMaterial);

            var nComponents = ComputeNumberOfComponents(significant, insignificant, fileSize);

            var outgoingComponentStack = new SortedList <float, Transform>(new DuplicateKeyComparer <float>());

            outgoingComponentStack.Add(1, newCsView.transform);

            float componentImpactMult = 1f;

            newCsView.Components = new List <CsViewComponent>();

            int i = 0;

            do
            {
                var parent = outgoingComponentStack.Values.Last();
                outgoingComponentStack.RemoveAt(outgoingComponentStack.Count - 1);

                // construct component
                var newComponent = GenerateComponent(significant, insignificant, parent, sizeOffset,
                                                     i > 0);

                // assign material
                foreach (var rend in newComponent.GetComponentsInChildren <Renderer>())
                {
                    rend.material = newCsView.DetailMaterial;
                }

                // iterate through other potential components using the stack
                GenerateOutgoingPriorities(significant, insignificant, newComponent,
                                           ref outgoingComponentStack, componentImpactMult);

                componentImpactMult *= .8f;

                newCsView.Components.Add(newComponent);

                newCsView.EncapsulatePoint(newComponent.transform.position);  //+Vector3.one/2f);
                //newCsView.ComponentBounds.Encapsulate( newComponent.transform.position );
                //new UnityEngine.Bounds(newComponent.transform.position, Vector3.one) );

                i++;
            } while (i < nComponents);

            newCsView.Components.First().transform.position -= (newCsView.ComponentBoundMax + newCsView.ComponentBoundMin) / 2f;

            //newCsView.Components.First().transform.localPosition -= .5f*(newCsView.ComponentBoundMax - newCsView.ComponentBoundMin);

            return(newCsView);
        }
Exemplo n.º 6
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            payload.VisualData.Bound.name = "Line Graph Bound";

            var lineGraph = VisualizerFactory.InstantiateLineGraph();

            lineGraph.Initialize(this, payload);

            AssignStates(lineGraph);

            var entries = EntryField.GetLastKeyValue(payload.Data) as IEnumerable <MutableObject>;

            if (entries == null)
            {
                throw new Exception("Illegal mutable field here!  " + EntryField.AbsoluteKey + " is not an enumerable of mutables!");
            }

            if (!entries.Any())
            {
                yield return(null);

                yield break;
            }

            foreach (var entry in entries)
            {
                Vector3 entryPosition =
                    new Vector3(
                        XAxis.GetLastKeyValue(entry),
                        YAxis.GetLastKeyValue(entry),
                        ZAxis.GetLastKeyValue(entry)
                        );

                Color pointColor = PointColor.GetLastKeyValue(entry);

                lineGraph.AddPoint(entryPosition, pointColor);

                yield return(null);
            }

            yield return(null);

            lineGraph.SetLineData(MainColor.GetLastKeyValue(payload.Data),
                                  LineWidth.GetLastKeyValue(payload.Data),
                                  ZDepthOffset.GetLastKeyValue(payload.Data),
                                  EdgeColor.GetLastKeyValue(payload.Data),
                                  EdgeWidth.GetLastKeyValue(payload.Data),
                                  PointWidth.GetLastKeyValue(payload.Data),
                                  PulseLine.GetLastKeyValue(payload.Data),
                                  PulseWidth.GetLastKeyValue(payload.Data),
                                  Wipe.GetLastKeyValue(payload.Data),
                                  StartTime.GetLastKeyValue(payload.Data),
                                  WipeDuration.GetLastKeyValue(payload.Data)
                                  );

            lineGraph.ApplyPoints();
        }
Exemplo n.º 7
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var label = VisualizerFactory.InstantiateLabelVisualizerPrefab();

            label.Initialize(this, payload);


            var meshRenderer = label.TextComponent.GetComponent <MeshRenderer>();

            var targetFont = FontFactory.GetFontPair(FontName.GetFirstValue(payload.Data));

            var newMaterial = FontFactory.GenerateNewSpatialMaterial(targetFont.FontTexture);

            label.TextComponent.font = targetFont.Font;

            label.TextComponent.fontSize  = Mathf.FloorToInt(FontSize.GetFirstValue(payload.Data) * targetFont.FontScale);
            label.transform.localPosition = new Vector3(0f, label.TextComponent.fontSize * targetFont.VerticalOffset, 0f);

            label.CharactersPerLine = CharactersPerLine.GetFirstValue(payload.Data);

            label.MaxLines = MaxLines.GetFirstValue(payload.Data);

            newMaterial.color = FontColor.GetFirstValue(payload.Data);

            meshRenderer.material = newMaterial;


            label.BackgroundPadding = BackgroundPadding.GetFirstValue(payload.Data);
            label.BackgroundDepth   = BackgroundDepth.GetFirstValue(payload.Data);

            label.LateralJustification = Justification.GetFirstValue(payload.Data);

            label.VerticalJustification = VerticalJustification.GetFirstValue(payload.Data);

            label.MinHeight = MinHeight.GetFirstValue(payload.Data);
            label.MaxHeight = MaxHeight.GetFirstValue(payload.Data);

            label.Orientation = Orientation.GetFirstValue(payload.Data);

            label.SetClickState(ClickState);

            label.RemoveBackground = !ShowBackground.GetFirstValue(payload.Data);

            label.Text = LabelText.GetFirstValue(payload.Data);

            var newPayload = new VisualPayload(payload.Data, new VisualDescription(label.Bound));

            var iterator = DefaultState.Transmit(newPayload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Exemplo n.º 8
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            Debug.LogWarning("[BOUND DEBUG] IsoGrid rendering to bound.", payload.VisualData.Bound);

            IsoGrid = VisualizerFactory.InstantiateIsoGrid();

            IsoGrid.Initialize(this, payload);
            //payload.VisualData.Bound.ChildVisualizer(this, IsoGrid);

            IsoGrid.DrawBackgrounds = ShowBackgrounds.GetLastKeyValue(payload.Data);

            IsoGrid.InitializeIsoGrid(payload.VisualData.Bound);

            IsoGrid.AllowSlicer = AllowSlicerField.GetLastKeyValue(payload.Data);

            AssignStates(IsoGrid);

            var entries = EntryField.GetFirstValue(payload.Data);

            if (entries == null)
            {
                throw new Exception("Illegal mutable field here!  " + EntryField.AbsoluteKey + " is not an enumerable of mutables!");
            }


            // Determine the full size of the entire isogrid
            int numCellsXAxis = 0;
            int numCellsZAxis = 0;

            if (entries.Any())
            {
                numCellsXAxis = XAxis.GetEntries(payload.Data).Max(e => XAxis.GetValue(e)) + 1;
                numCellsZAxis = ZAxis.GetEntries(payload.Data).Max(e => ZAxis.GetValue(e)) + 1;
            }

            IsoGrid.UpdateHorizontalScale(numCellsXAxis);
            IsoGrid.UpdateDepthScale(numCellsZAxis);

            AssignElements(entries);

            var iterator = IsoGrid.Apply();

            while (iterator.MoveNext( ))
            {
                yield return(null);
            }

            // PROCESS the label stuff, that was specified by the author:
            LabelSystem.Render(payload, IsoGrid.transform, IsoGrid.SelectionManager);
        }
Exemplo n.º 9
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            //payload.ClearBoundVisualizer();

            var volume = VisualizerFactory.InstantiateRectangularVolume();

            //payload.GetTargetBound().ChildWithinBound(volume.transform);
            //.BoundedVisual = volume;

            volume.Initialize(this, payload);

            volume.SetOpaqueMaterial(UseOpaqueMaterial.GetFirstValue(payload.Data));


            var xProportion = XAxis.GetFirstValue(payload.Data);

            if (XMax.CouldResolve(payload.Data) && XMax.GetFirstValue(payload.Data) > .001f)
            {
                xProportion = xProportion / XMax.GetFirstValue(payload.Data);
            }

            var yProportion = YAxis.GetFirstValue(payload.Data);

            if (YMax.CouldResolve(payload.Data) && YMax.GetFirstValue(payload.Data) > .001f)
            {
                yProportion = yProportion / YMax.GetFirstValue(payload.Data);
            }

            var zProportion = ZAxis.GetFirstValue(payload.Data);

            if (ZMax.CouldResolve(payload.Data) && ZMax.GetFirstValue(payload.Data) > .001f)
            {
                zProportion = zProportion / ZMax.GetFirstValue(payload.Data);
            }

            volume.Xscale = xProportion;
            volume.Yscale = yProportion;
            volume.Zscale = zProportion;

            volume.Color = Color.GetFirstValue(payload.Data);

            var newPayload = new VisualPayload(payload.Data, new VisualDescription(volume.Bound));

            var iterator = Router.TransmitAll(newPayload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Exemplo n.º 10
0
        private static DisassemblyGroupVisualizer GetGroupVisualizer(string groupKey)
        {
            // Return if already made
            if (GroupVisualizers.ContainsKey(groupKey))
            {
                return(GroupVisualizers[groupKey]);
            }

            // Create
            var groupVisualizerGo = VisualizerFactory.InstantiateDisassemblyGroup();
            var groupVisualizer   = groupVisualizerGo.GetComponent <DisassemblyGroupVisualizer>();

            // Register
            GroupVisualizers.Add(groupKey, groupVisualizer);
            WindowVisualizers.Add(groupKey, new Dictionary <string, DisassemblyWindowVisualizer>());

            // Return
            return(groupVisualizer);
        }
        private void CreateDisasmEntryVisualizers()
        {
            for (int i = 0; i < DisasmVisualizerCount; i++)
            {
                var disasmEntryVisualizerGo = VisualizerFactory.InstantiateDisasmItem();
                var disasmEntryVisualizer   = disasmEntryVisualizerGo.GetComponent <DisasmEntryVisualizer>();

                disasmEntryVisualizer.transform.SetParent(DisasmEntryAttachmentPoint);
                disasmEntryVisualizer.transform.SetAsFirstSibling();

                if (Embiggened)
                {
                    disasmEntryVisualizer.Embiggen();
                }

                disasmEntryVisualizer.gameObject.SetActive(false);

                DisasmEntryVisualizers.Add(disasmEntryVisualizer);
            }
        }
        private void CreateCommsEntryVisualizers()
        {
            for (int i = 0; i < CommsEntryVisualizerCount; i++)
            {
                var commsEntryVisualizerGo = VisualizerFactory.InstantiateCommsItem();
                var commsEntryVisualizer   = commsEntryVisualizerGo.GetComponent <CommsEntryVisualizer>();

                commsEntryVisualizer.transform.SetParent(CommsEntryAttachmentPoint, false);
                commsEntryVisualizer.transform.SetAsFirstSibling();

                if (Embiggened)
                {
                    commsEntryVisualizer.Embiggen();
                }

                commsEntryVisualizer.gameObject.SetActive(false);

                CommsEntryVisualizers.Add(commsEntryVisualizer);
            }
        }
Exemplo n.º 13
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var annotationType = AnnotationType.GetLastKeyValue(payload.Data);
            var icon           =
                VisualizerFactory.InstantiateAnnotationIcon(annotationType);

            if (annotationType == "transmit")
            {
                icon.Color = ChallengeSetColorField.GetFirstValue(payload.Data);
            }
            else if (annotationType == "receive")
            {
                icon.Color = RequestColorField.GetFirstValue(payload.Data);
            }

            icon.AnnotationText = AnnotationText.GetLastKeyValue(payload.Data);

            icon.Initialize(this, payload);

            yield return(null);
        }
Exemplo n.º 14
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            foreach (var entry in PrefabType.GetEntries(payload.Data))
            {
                var prefabType = PrefabType.GetValue(entry);

                var newVisualizer = VisualizerFactory.InstantiatePrefabVisualizer(prefabType);

                var newBound = newVisualizer.GetComponent <BoundingBox>();
                if (newBound == null)
                {
                    newBound = newVisualizer.gameObject.AddComponent <BoundingBox>();
                }

                newVisualizer.Initialize(this, payload);

                foreach (var discriminateChild in newVisualizer.GetComponentsInChildren <PrefabDiscriminateChild>())
                {
                    var childBound = discriminateChild.FulfillValueDiscrimination();

                    ChildBoundNameTarget.SetValue(discriminateChild.ChildName, payload.Data);

                    var childPayload = new VisualPayload(payload.Data, new VisualDescription(childBound));

                    var iterator = PerChildState.Transmit(childPayload);
                    while (iterator.MoveNext())
                    {
                        yield return(null);
                    }
                }

                var newPayload = new VisualPayload(payload.Data, new VisualDescription(newBound));

                var defaultIterator = DefaultState.Transmit(newPayload);
                while (defaultIterator.MoveNext())
                {
                    yield return(null);
                }
            }
        }
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var groupId = GroupId.GetFirstValue(payload.Data);

            DataSharedTooltipVisualizer newVisualizer;

            if (!DataShare.ContainsKey(groupId))
            {
                newVisualizer = VisualizerFactory.InstantiateDataSharedTooltipVisualizer();

                newVisualizer.Initialize(this, payload);

                DataShare[groupId] = newVisualizer;
            }
            else
            {
                newVisualizer = DataShare[groupId];
            }


            newVisualizer.TextColor       = FontColor.GetFirstValue(payload.Data);
            newVisualizer.FontSize        = FontSize.GetFirstValue(payload.Data);
            newVisualizer.BackgroundColor = BackgroundColor.GetFirstValue(payload.Data);
            newVisualizer.CheckRedeclareStyle();


            newVisualizer.DisplayText =
                ShowTooltip.GetFirstValue(payload.Data)?
                Tooltip.GetFirstValue(payload.Data):"";

            newVisualizer.DrawPosition = ScreenPosition.GetFirstValue(payload.Data);

            var iterator = Router.TransmitAll(payload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Exemplo n.º 16
0
        protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            payload.VisualData.Bound.name = "Scatter Plot Bound";

            var scatterPlot = VisualizerFactory.InstantiateScatterPlot();

            scatterPlot.Initialize(this, payload);

            AssignStates(scatterPlot);

            var entries = EntryField.GetLastKeyValue(payload.Data) as IEnumerable <MutableObject>;

            if (entries == null)
            {
                throw new Exception("Illegal mutable field here!  " + EntryField.AbsoluteKey + " is not an enumerable of mutables!");
            }

            if (!entries.Any())
            {
                yield return(null);

                yield break;
            }

            foreach (var entry in entries)
            {
                Vector3 entryPosition =
                    new Vector3(
                        XAxis.GetLastKeyValue(entry),
                        YAxis.GetLastKeyValue(entry),
                        ZAxis.GetLastKeyValue(entry)
                        );

                scatterPlot.DrawPoint(entryPosition, entry);
            }

            scatterPlot.ApplyPoints();
        }