public async void Disabled_WhenConnectingSource(ConnectorDirection connectingDirection, IConnector connectingConnector) { // Arrange connectingConnector.Direction .Returns(connectingDirection); connectingConnector.Node .Returns(node); var connector = kernel.Get <IInConnectorViewModel>(); // Act connector.Activator .Activate(); mixer.ConnectingConnector = connectingConnector; var isEnabled = await connector.WhenAnyValue(vm => vm.IsEnabled) .FirstAsync(); // Assert isEnabled.Should().BeFalse(); }
protected override object ConstructTexture(ConnectorSide side, ConnectorDirection direction, bool connected, Color tint = default(Color)) { string iconBase = null; if (direction == ConnectorDirection.Input && connected) iconBase = _filledInputIconCode; if (direction == ConnectorDirection.Input && !connected) iconBase = _emptyInputIconCode; if (direction == ConnectorDirection.Output && connected) iconBase = _filledOutputIconCode; if (direction == ConnectorDirection.Output && !connected) iconBase = _emptyOutputIconCode; if (direction == ConnectorDirection.TwoWay && connected) iconBase = _emptyTwoWayIconCode; if (direction == ConnectorDirection.TwoWay && !connected) iconBase = _filledTwoWayIconCode; var baseTexture = ElementDesignerStyles.GetSkinTexture(iconBase); if (tint != default(Color)) { baseTexture = baseTexture.Tint(tint); } switch (side) { default: return baseTexture; } return null; }
public Connector(ConnectorDirection direction, Transition trans = null, Place pla = null) { Id = Guid.NewGuid(); Direction = direction; Trans = trans ?? new Transition(); Pla = pla ?? new Place(); }
public async void Disabled_WhenNotConnectableTo(bool expected, ConnectorDirection connectingDirection, INode connectingNode, IConnector connectingConnector) { // Arrange connectingConnector.Direction .Returns(connectingDirection); connectingConnector.Node .Returns(connectingNode); var connector = kernel.Get <IInConnectorViewModel>(); // Act connector.Activator .Activate(); mixer.ConnectingConnector = connectingConnector; var actual = await connector.WhenAnyValue(vm => vm.IsEnabled) .FirstAsync(); // Assert actual.Should().Be(expected); }
public Connector(string id, ConnectorDirection direction, Transition trans, Place pla) { Id = new Guid(id); Direction = direction; Trans = trans; Pla = pla; }
/// <summary> /// Constructor /// </summary> /// <param name="name">Connector name</param> /// <param name="text">Connector display name</param> /// <param name="connectorDirection">Connector direction</param> public BaseConnector(string name, string text, ConnectorDirection connectorDirection) { this.Name = name; this.Text = text; this.ConnectorDirection = connectorDirection; this.Loaded += BaseConnector_Loaded; }
/// <summary> /// Constructor /// </summary> /// <param name="name">Connector name</param> /// <param name="text">Connector display name</param> /// <param name="connectorDirection">Connector direction</param> /// <param name="connectorDataType">Connector data type</param> /// <param name="isGeneric">Is a generic type ?</param> /// <param name="allowedTypes">if a generic type, this limits the types</param> public DataConnector(string name, string text, ConnectorDirection connectorDirection, Type connectorDataType, bool isGeneric, string allowedTypes) : base(name, text, connectorDirection) { this.ConnectorDataType = connectorDataType; this.DataContext = this; this.ToolTip = $"{Text} ({connectorDataType?.Name})"; this.IsGeneric = isGeneric; this.AllowedTypes = allowedTypes; FillDataTemplate(); }
protected override object ConstructTexture(ConnectorSide side, ConnectorDirection direction, bool connected, Color tint = default(Color)) { string iconBase = null; if (direction == ConnectorDirection.Input && connected) { iconBase = _filledInputIconCode; } if (direction == ConnectorDirection.Input && !connected) { iconBase = _emptyInputIconCode; } if (direction == ConnectorDirection.Output && connected) { iconBase = _filledOutputIconCode; } if (direction == ConnectorDirection.Output && !connected) { iconBase = _emptyOutputIconCode; } if (direction == ConnectorDirection.TwoWay && connected) { iconBase = _emptyTwoWayIconCode; } if (direction == ConnectorDirection.TwoWay && !connected) { iconBase = _filledTwoWayIconCode; } var baseTexture = ElementDesignerStyles.GetSkinTexture(iconBase); if (tint != default(Color)) { baseTexture = baseTexture.Tint(tint); } switch (side) { default: return(baseTexture); } return(null); }
public object GetTexture(ConnectorSide side, ConnectorDirection direction, bool connected, Color tint = default(Color)) { var item = new SideDirectionItem() { Side = side, Direction = direction, IsConnected = connected, Tint = tint }; object value = null; TexturesCache.TryGetValue(item, out value); if (value == null || value.Equals(null)) { TexturesCache[item] = ConstructTexture(side, direction, connected, tint); } return(TexturesCache[item]); }
public object GetTexture(ConnectorSide side, ConnectorDirection direction, bool connected, Color tint = default(Color)) { var item = new SideDirectionItem() { Side = side, Direction = direction, IsConnected = connected, Tint = tint }; object value = null; TexturesCache.TryGetValue(item, out value); if (value == null || value.Equals(null)) { TexturesCache[item] = ConstructTexture(side, direction, connected, tint); } return TexturesCache[item]; }
protected abstract object ConstructTexture(ConnectorSide side, ConnectorDirection direction, bool connected, Color tint = default(Color));
void OnGUI() { Rect tmp_rect = EditorGUILayout.BeginHorizontal(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(tmp_rect.width), GUILayout.Height(tmp_rect.height)); GUILayout.Label("Place By Line", EditorStyles.boldLabel); StartFromThisDomino = EditorGUILayout.ObjectField("Start From This Domino", StartFromThisDomino, typeof(GameObject), true) as GameObject; Direction = EditorGUILayout.Vector3Field("Direction", Direction); LineLength = EditorGUILayout.FloatField("Length of Line", LineLength); Distance = EditorGUILayout.FloatField("Distance between Dominos", Distance); DominoPrefab = EditorGUILayout.ObjectField("Domino Prefab", DominoPrefab, typeof(GameObject), true) as GameObject; DominosName = EditorGUILayout.TextField("Dominos Name", DominosName); DominoColorType = (ColorType)EditorGUILayout.EnumPopup("Dominos' Color Type", DominoColorType); if (DominoColorType == ColorType.Single) { DominoColor = EditorGUILayout.ColorField("Dominos' Color", DominoColor); } else { DominoColor = EditorGUILayout.ColorField("Dominos' Color 1", DominoColor); DominoColor2 = EditorGUILayout.ColorField("Dominos' Color 2", DominoColor2); } Parent = EditorGUILayout.Toggle("Add a Object as Parent", Parent); if (Parent) { ParentName = EditorGUILayout.TextField("Parent Name", ParentName); } if (GUILayout.Button("Create!")) { CreateLine(); } //Rotate GUILayout.Label("Place Dominos Rotate Around Circle", EditorStyles.boldLabel); Rotate_StartFromThisDomino = EditorGUILayout.ObjectField("Start From This Domino", Rotate_StartFromThisDomino, typeof(GameObject), true) as GameObject; Rotate_PlaceDirection = EditorGUILayout.Vector3Field("Place Direction", Rotate_PlaceDirection); Rotate_Distance = EditorGUILayout.FloatField("Distance between Dominos", Rotate_Distance); Rotate_RotateByAxis = EditorGUILayout.Vector3Field("Rotate By Axis", Rotate_RotateByAxis); Rotate_Angle = EditorGUILayout.FloatField("Rotate Angle", Rotate_Angle); Rotate_NumberOfDominos = EditorGUILayout.IntField("Number of Dominos", Rotate_NumberOfDominos); Rotate_DominoPrefab = EditorGUILayout.ObjectField("Domino Prefab", Rotate_DominoPrefab, typeof(GameObject), true) as GameObject; Rotate_DominosName = EditorGUILayout.TextField("Dominos Name", Rotate_DominosName); Rotate_DominoColorType = (ColorType)EditorGUILayout.EnumPopup("Dominos' Color Type", Rotate_DominoColorType); if (Rotate_DominoColorType == ColorType.Single) { Rotate_DominoColor = EditorGUILayout.ColorField("Dominos' Color", Rotate_DominoColor); } else { Rotate_DominoColor = EditorGUILayout.ColorField("Dominos' Color 1", Rotate_DominoColor); Rotate_DominoColor2 = EditorGUILayout.ColorField("Dominos' Color 2", Rotate_DominoColor2); } Rotate_Parent = EditorGUILayout.Toggle("Add a Object as Parent", Rotate_Parent); if (Rotate_Parent) { Rotate_ParentName = EditorGUILayout.TextField("Parent Name", Rotate_ParentName); } if (GUILayout.Button("Create!")) { CreateRotate(); } //Picture GUILayout.Label("Place Dominos By Picture(1 pixel for 1 domino)(Strongly sugest use small picture)", EditorStyles.boldLabel); StartPosition = EditorGUILayout.ObjectField("Start Place Domino From", StartPosition, typeof(GameObject), true) as GameObject; Picture1 = EditorGUILayout.ObjectField("Use Which Pictrure?", Picture1, typeof(Texture2D), true) as Texture2D; LineDistance = EditorGUILayout.FloatField("Distance Between Line", LineDistance); DominoDistance = EditorGUILayout.FloatField("Distance Between Dominos", DominoDistance); PlaceByAxis = EditorGUILayout.Vector3Field("Place By Axis", PlaceByAxis); Pic_DominosName = EditorGUILayout.TextField("Dominos Name", Pic_DominosName); Pic_DominoPrefab = EditorGUILayout.ObjectField("Domino Prefab", Pic_DominoPrefab, typeof(GameObject), true) as GameObject; DominoRotationVector = EditorGUILayout.Vector3Field("Domino's Rotation(Degree)", DominoRotationVector); Pic_Parent = EditorGUILayout.Toggle("Add a Object as Parent", Pic_Parent); if (Pic_Parent) { Pic_ParentName = EditorGUILayout.TextField("Parent Name", Pic_ParentName); } Conector_DominoColorType = (ColorType)EditorGUILayout.EnumPopup("Conectors' Color Type", Conector_DominoColorType); if (Conector_DominoColorType == ColorType.Single) { ConectorColor = EditorGUILayout.ColorField("Conectors' Color", ConectorColor); } else { ConectorColor = EditorGUILayout.ColorField("Conectors' Color 1", ConectorColor); ConectorColor2 = EditorGUILayout.ColorField("Conectors' Color 2", ConectorColor2); } StartFrom = (ConnectorDirection)EditorGUILayout.EnumPopup("Start Place Connector From", StartFrom); ChangeDirection = EditorGUILayout.Toggle("Change Connector Direction", ChangeDirection); if (GUILayout.Button("Create!")) { CreatePicture(); } //Connect GUILayout.Label("Connect Two Dominos", EditorStyles.boldLabel); Start = EditorGUILayout.ObjectField("Start From...", Start, typeof(GameObject), true) as GameObject; Destination = EditorGUILayout.ObjectField("Go to...", Destination, typeof(GameObject), true) as GameObject; ConnectDistance = EditorGUILayout.FloatField("Distance Between Dominos", ConnectDistance); ConnectColorType = (LinkColorType)EditorGUILayout.EnumPopup("Dominos' Color Type", ConnectColorType); if (ConnectColorType == LinkColorType.Single) { LinkColor = EditorGUILayout.ColorField("Dominos' Color", LinkColor); } else if (ConnectColorType == LinkColorType.Gradient) { LinkColor = EditorGUILayout.ColorField("Conectors' Color 1", LinkColor); LinkColor2 = EditorGUILayout.ColorField("Conectors' Color 2", LinkColor2); } Con_DominoPrefab = EditorGUILayout.ObjectField("Domino Prefab", Pic_DominoPrefab, typeof(GameObject), true) as GameObject; Con_DominosName = EditorGUILayout.TextField("Dominos Name", Con_DominosName); Con_Parent = EditorGUILayout.Toggle("Add a Object as Parent", Pic_Parent); if (Con_Parent) { Con_ParentName = EditorGUILayout.TextField("Parent Name", Con_ParentName); } if (GUILayout.Button("Create!")) { CreateLink(); } EditorGUILayout.EndScrollView(); EditorGUILayout.EndHorizontal(); }
/// <summary> /// Constructor /// </summary> /// <param name="name">Connector name</param> /// <param name="text">Connector display name</param> /// <param name="connectorDirection">Connector direction</param> public FlowConnector(string name, string text, ConnectorDirection connectorDirection) : base(name, text, connectorDirection) { this.Style = TryFindResource("FlowConnectorTemplate") as Style; ToolTip = Text; }