public GameEventUsers(string usedMethod, string displayName, GameEventUsageDescription owner) { this.usedMethod = usedMethod; this.displayName = displayName; this.owner = owner; users = new List <GameEventUser>(); }
internal void CreateCallGraph() { graph = new GeometryGraph(); eventNodes = new Dictionary <string, Node>(); userNodes = new Dictionary <string, Node>(); GameEventUsageDescription description = new GameEventUsageDescription(); foreach (var unused in description.unusedEvents) { CreateEventNode(unused, NodeType.UnusedEvent, Color.red); } var usedEvents = description.invokers.users.Select(u => u.eventName) .Concat(description.listeners.users.Select(u => u.eventName)); foreach (var used in usedEvents.Distinct()) { CreateEventNode(used, NodeType.UsedEvent, Color.blue); } var users = description.invokers.users.Select(u => u.usingType.Name) .Concat(description.listeners.users.Select(u => u.usingType.Name)); foreach (var user in users.Distinct()) { CreateUserNode(user); } foreach (var user in description.listeners.users) { graph.Edges.Add(new Edge(eventNodes[user.eventName], userNodes[user.usingType.Name])); } foreach (var user in description.invokers.users) { graph.Edges.Add(new Edge(userNodes[user.usingType.Name], eventNodes[user.eventName])); } }