public void Generate() { GenerateModel(); Teleporter = gameObject.AddComponent <PlayerTeleporter>(); Teleporter.Destination = Destination; SetupInteraction(); SetupUIElement(); }
// Start is called before the first frame update void Start() { Teleporter = Teleporter ? Teleporter : FindObjectOfType <PlayerTeleporter>(); PlayerController = PlayerController ? PlayerController : FindObjectOfType <PlayerFPSController>(); Teleporter.OnTeleportFinish += SpawnObject; PlayerController.OnSpacePress += ChangeColors; PlayerController.OnQPress += DeleteSpawned; }
private void HandlerTeleporterCoordinator(string[] msg) { if (NotInClientScene()) { GameObject teleporter = GameObject.Find(msg[1]); if (teleporter.GetComponent <PlayerTeleporter>()) { PlayerTeleporter pTeleporter = teleporter.GetComponent <PlayerTeleporter>(); if (pTeleporter.id.Equals(Int32.Parse(msg[2]))) { pTeleporter.DoYourTeleportedThing(Int32.Parse(msg[2])); } } } }
public static GameObject CreateTeleportButtonModel(Vector3 position, Vector3 destination, float size, float border) { var modelData = GenerateButtonModel(size, border, border / 2f); GameObject buttonObj = ModelFactory.CreateModel(modelData); PlayerTeleporter tpBtn = buttonObj.AddComponent <PlayerTeleporter>(); tpBtn.Destination = destination; BoxCollider 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); }