public override void Start() { base.Start(); NodeData node = transform.parent.GetComponent <NodeData>(); NodeGUI nodeGUI = transform.parent.GetComponent <NodeGUI>(); nodeGUI.OnHover += () => { if (ActionController.instance.selected is AttackAction && ActionController.instance.getTargetsForScheduledAction().Contains(node)) { show(); currentAction = (AttackAction)ActionController.instance.selected; } isMouseOver = true; }; nodeGUI.OnEndHover += () => { OnMouseExit(); hide(); isMouseOver = false; }; nodeGUI.OnClicked += () => { OnMouseUpAsButton(); hide(); }; foreach (SideEffect e in buttons.Keys) { SideEffect copy = e; buttons[e].GetComponent <NodeButton>().OnClick += () => { currentAction.setSideEffect(copy); }; } }