private void SetupInteraction() { var col = button.AddComponent <BoxCollider>(); var size = GetButtonSize(); var height = GetButtonHeight(); var border = GetButtonBorder(); col.size = new Vector3(size, size, border * 2); col.center = new Vector3(size / 2f, size / 2f, -border); button.AddComponent <Button>(); var hand = new CustomEvents.UnityEventHand(); hand.AddListener(h => { ButtonPress(); }); button.AddComponent <UIElement>().onHandClick = hand; }
public static GameObject CreateTeleportButtonModel(Vector3 position, Vector3 destination, float size, float border) { var modelData = GenerateButtonModel(size, border, border / 2f); var buttonObj = ModelFactory.CreateModel(modelData); var tpBtn = buttonObj.AddComponent <PlayerTeleporter>(); tpBtn.Destination = destination; var col = buttonObj.AddComponent <BoxCollider>(); col.size = new Vector3(size, size, border * 2); col.center = new Vector3(size / 2f, size / 2f, -border); buttonObj.AddComponent <Button>(); var hand = new CustomEvents.UnityEventHand(); hand.AddListener(h => { tpBtn.TeleportPlayer(); }); buttonObj.AddComponent <UIElement>().onHandClick = hand; buttonObj.transform.position = position; buttonObj.name = "TeleportButton (Instance)"; return(buttonObj); }