public void UpdateRightClickMenuWithNode(UISpellNode uisn) { if (uisn != null) { rcm.ActivateIndex((int)ModifyableUITypes.Node); } selectedUISN = uisn; }
public void CreateUISpellNode(SpellNode sn) { GameObject obj = (GameObject)Instantiate(uiSpellNodePrefab, UiBoard); obj.transform.position = rcm.GetRightClickedPoint(); obj.name = "UI" + sn.GetMcType().ToString() + "SpellNode"; UISpellNode usn = (UISpellNode)obj.GetComponent <UISpellNode>(); if (usn != null) { usn.linkedSpellNode = sn; usn.SetUIMenu(this); uiSpellNodeList.Add(usn); selectedUISN = usn; } }
public void UpdateSelectedUISpellNode(UISpellNode uisn) { if (selectionMode == SelectionMode.None) { // drag = true; selectionMode = SelectionMode.Drag; dragableObj = uisn.gameObject; offset = (Vector2)(uisn.transform.position - Input.mousePosition); selectedSpace = SelectionSpace.UI; UpdateSelectedSpellNode(uisn.linkedSpellNode); mostRecentlySelected = ModifyableUITypes.Node; } else if (selectionMode == SelectionMode.DataLink || selectionMode == SelectionMode.TransitionLink) { Debug.Log("Creating Link with source " + selectedUISN.gameObject.name + " and destination " + uisn.gameObject.name); CreateLink(selectedUISN, uisn); mostRecentlySelected = ModifyableUITypes.Link; } }
public void CreateLink(UISpellNode source, UISpellNode destination) { MagicCircleLinks mcl; if (selectionMode == SelectionMode.DataLink) { mcl = currentSpell.AddLink(LinkTypes.Data); } else if (selectionMode == SelectionMode.TransitionLink) { if (source.linkedSpellNode.IsMagicCircle() && destination.linkedSpellNode.IsMagicCircle()) { mcl = currentSpell.AddLink(LinkTypes.Transition); } else { Debug.LogWarning("Can't a transition link with a non magic circle "); return; } } else { Debug.LogWarning("Can't Create this link type " + selectionMode); return; } mcl.SetSource(source.linkedSpellNode); mcl.SetDestination(destination.linkedSpellNode); selectionMode = SelectionMode.None; selectedLink.linkedLink = mcl; selectedLink.mcmm = this; Vector3 offsetMe = Input.mousePosition - destination.transform.position; print(offsetMe.ToString("F3")); selectedLink.SetReference(selectedLink.points.Count - 1, destination, offsetMe); selectedLink.deleteOnNoSource = true; UpdateSelectedLink(selectedLink); }