public void Generate()
 {
     GenerateModel();
     Teleporter             = gameObject.AddComponent <PlayerTeleporter>();
     Teleporter.Destination = Destination;
     SetupInteraction();
     SetupUIElement();
 }
Пример #2
0
    // 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);
        }