void addEdge(IEdge edge) { edgesDict.Add(edge.GetId(), edge); EventPublisher.Publish(new EIGraphElementAdded <IEdge>(edge)); }
public EdgeAvatar(GameObject nodeAvatarPrefab, IEdge edge) { this.gameObject = MonoBehaviour.Instantiate(nodeAvatarPrefab, Vector3.zero, Quaternion.identity); MBEdgeAvatar mbEdegAvatar = this.gameObject.GetComponent <MBEdgeAvatar>(); INode source = edge.GetSourceNode(); INode target = edge.GetTargetNode(); IAvatar sourceAvatar; IAvatar targetAvatar; if (source.TryGetAvatar(out sourceAvatar) && target.TryGetAvatar(out targetAvatar) && mbEdegAvatar != null) { this.sourceNodeAvatar = (INodeAvatar)sourceAvatar; this.targetNodeAvatar = (INodeAvatar)targetAvatar; mbEdegAvatar.SetSourceNodeAvatar(this.sourceNodeAvatar); mbEdegAvatar.SetTargetNodeAvatar(this.targetNodeAvatar); } else { G3DLogger.Log("Missing component in edge {0}, avatar constructor failed.", edge.GetId()); this.SelfDestruct(); } }