public static PipeFunctionTile Create(string name, VariablePipe.PipeFunction function) { PipeFunctionTile function_tile = GameObject.Instantiate(Scene.Main.Prefabs.PipeFunctionTile); function_tile.Name = name; function_tile.Function = function; return(function_tile); }
protected override void Start() { base.Start(); if (UnityEditor.EditorApplication.isPlaying) { foreach (string name in VariablePipe.Functions.Keys) { Add(PipeFunctionTile.Create(name, VariablePipe.Functions[name])); } } }
public override void OnEndDrag(PointerEventData eventData) { PipeFunctionSlot[] pipe_function_slots = Scene.Main.UnmaskedUIElements.GetComponentsInChildren <PipeFunctionSlot>(); if (pipe_function_slots.Length > 0) { PipeFunctionSlot pipe_function_slot = pipe_function_slots.Where(pipe_function_slot_ => (pipe_function_slot_.transform as RectTransform).ContainsMouse()) .FirstOrDefault(); if (Drawer == null) { GetComponentInParent <PipeFunctionSlot>().PipeFunctionTile = null; } if (pipe_function_slot != null) { if (Drawer != null) { PipeFunctionTile copy = Create(Name, Function); Drawer.Add(copy); copy.transform.SetSiblingIndex(transform.GetSiblingIndex()); Drawer.Remove(this); } pipe_function_slot.PipeFunctionTile = this; } else if (Drawer == null) { GameObject.Destroy(gameObject); } } base.OnEndDrag(eventData); }