void Start()
 {
     this.player        = this.GetComponent <NVRPlayer>();
     this.canvasInput   = this.GetComponent <NVRCanvasInput>();
     this.createMode    = true;
     this.twoHandedDrag = false;
 }
예제 #2
0
    void Awake()
    {
        nvrPlayer = GameObject.FindWithTag("Player").GetComponent <NVRPlayer>();

        gestureGameManager                   = GetComponent <GestureGameManager>();
        gestureGameManager.nvrPlayer         = nvrPlayer;
        gestureGameManager.masterGameManager = this;
        assembledSpellQuickBar               = GetComponent <AssembledSpellQuickBar>();

        spellEngine = GetComponent <SpellEngine>();
        spellEngine.masterGameManager = this;
    }
예제 #3
0
    IEnumerator SetNVRPlayer()
    {
        while (nvrPlayer == null)
        {
            nvrPlayer = GameObject.FindObjectOfType <NVRPlayer>();
            yield return(new WaitForEndOfFrame());
        }

        nvrHeadTransfrom      = nvrPlayer.Head.transform;
        nvrLeftHandTransform  = nvrPlayer.LeftHand.transform;
        nvrRightHandTransform = nvrPlayer.RightHand.transform;
    }
예제 #4
0
    // Use this for initialization
    void Start()
    {
        player           = GetComponent <NVRPlayer>();
        startingPosition = player.transform.position;

        //Init teleporter
        teleporter = secondaryHand.teleporter;
        primaryHand.teleporter.gameObject.SetActive(false);

        //Init terraformer
        terraformController = primaryHand.terraformController;
        secondaryHand.terraformController.gameObject.SetActive(false);
    }
예제 #5
0
    public override void BeginInteraction(NVRHand hand)
    {
        base.BeginInteraction(hand);

        player = hand.Player;

        customHand = hand.GetComponent <CustomNVRHand>();
        customHand.terraformController.enabled = true;

        customHand.terraformController.SetObjectType(objectType);

        if (objectType == TerrainObjectType.Cell)
        {
            customHand.terraformController.SetCellType(cellType);
        }
    }
    void Awake()
    {
        int[] levelOne = new int[5] {
            3, 0, 0, 0, 0
        };                                             //small, medium, flyer, speed, large
        int[] levelTwo = new int[5] {
            5, 2, 0, 0, 0
        };
        int[] levelThree = new int[5] {
            10, 5, 1, 0, 0
        };
        int[] levelFour = new int[5] {
            13, 10, 5, 3, 0
        };
        int[] levelFive = new int[5] {
            10, 13, 0, 7, 3
        };

        levelPopulation = new int[][] { levelOne, levelTwo, levelThree, levelFour, levelFive };

        nvrPlayer                    = GameObject.FindWithTag("Player").GetComponent <NVRPlayer>();
        gestureGameManager           = GetComponent <GestureGameManager>();
        gestureGameManager.nvrPlayer = nvrPlayer;
        if (GameObject.FindWithTag("tower") != null)
        {
            tower = GameObject.FindWithTag("tower").GetComponent <HumanWatchTower>();
        }

        if (GameObject.FindWithTag("GameController").GetComponentInChildren <PortalSpawning>() != null)
        {
            portalSpawning = GameObject.FindWithTag("GameController").GetComponentInChildren <PortalSpawning>();
            Debug.Log("Portal Spawning object has been found");
        }
        else
        {
            Debug.Log("Portal Spawning object has not been found.");
        }

        gestureGameManager.masterGameManager = this;
        assembledSpellQuickBar = GetComponent <AssembledSpellQuickBar>();

        spellEngine = GetComponent <SpellEngine>();
        spellEngine.masterGameManager = this;
    }
예제 #7
0
        //-------------------------------------------------
        void Start()
        {
            teleportMarkers = GameObject.FindObjectsOfType <TeleportMarkerBase>();

            HidePointer();

            player = NVRPlayer.Instance;

            if (player == null)
            {
                Debug.LogError("Teleport: No Player instance found in map.");
                Destroy(this.gameObject);
                return;
            }

            CheckForSpawnPoint();

            Invoke("ShowTeleportHint", 5.0f);
        }
예제 #8
0
    private void Start()
    {
        Line = this.GetComponent <LineRenderer>();
        Hand = this.GetComponent <NVRHand>();

        if (Line == null)
        {
            Line = this.gameObject.AddComponent <LineRenderer>();
        }

        if (Line.sharedMaterial == null)
        {
            Line.material = new Material(Shader.Find("Unlit/Color"));
            Line.material.SetColor("_Color", LineColor);
            NVRHelpers.LineRendererSetColor(Line, LineColor, LineColor);
        }

        Line.useWorldSpace = true;
        Player             = Hand.Player;
    }
예제 #9
0
    public override void UseButtonDown()
    {
        base.UseButtonDown();
        NVRPlayer player = AttachedHand.GetComponentInParent <NVRPlayer> ();

        if (!player.LeftHand || !player.RightHand)
        {
            return;
        }
        NVRInteractable left  = player.LeftHand.CurrentlyInteracting;
        NVRInteractable right = player.RightHand.CurrentlyInteracting;

        if (!left || !right)
        {
            return;
        }
        GameObject leftGame  = left.gameObject;
        GameObject rightGame = right.gameObject;

        if (!leftGame || !rightGame)
        {
            return;
        }

        Constructable leftCons  = leftGame.GetComponent <Constructable> ();
        Constructable rightCons = rightGame.GetComponent <Constructable> ();

        if (leftCons && rightCons &&
            player.LeftHand.UseButtonPressed && player.RightHand.UseButtonPressed)
        {
            Debug.Log("MAKING CONNECTION");
            FixedJoint f = left.gameObject.AddComponent <FixedJoint> ();
            f.breakForce    = breakForce;
            f.connectedBody = right.gameObject.GetComponent <Rigidbody> ();
        }
    }
예제 #10
0
 private void Start()
 {
     Player = Hand.Player;
 }
예제 #11
0
파일: Elevator.cs 프로젝트: chinnie/GGJ2018
        private void OnSceneLoaded(Scene scene,
                                   LoadSceneMode mode)
        {
            Debug.Log("Loaded " + scene.name);
            Vector3 scenePosition = Vector3.zero + startPoition;

            if (reloadingScene)
            {
                Debug.Log("Reloaded " + scene.name);
                scenePosition = GetCurrentScenePosition();
            }
            else if (scenePositions.Count > 0)
            {
                scenePosition = scenePositions.Last.Value + new Vector3(0, sceneSpacing, 0);
            }

            GameObject[] rootObjects = scene.GetRootGameObjects();
            foreach (GameObject rootObject in rootObjects)
            {
                rootObject.transform.position += scenePosition;

                Light[] lights = rootObject.GetComponentsInChildren <Light>();
                foreach (Light light in lights)
                {
                    if (light.type == LightType.Directional)
                    {
                        light.enabled = false;
                    }
                }

                NVRPlayer player = rootObject.GetComponentInChildren <NVRPlayer>();
                if (player != null)
                {
                    GameObject.Destroy(player.gameObject);
                }

                RobotHoppy[] hoppies = rootObject.GetComponentsInChildren <RobotHoppy>();
                foreach (RobotHoppy hoppy in hoppies)
                {
                    hoppy.IgnoreCollision = false;
                }
            }

            //when restarting a scene, we don't want to recreate the barrier or add anything back into the lists
            if (reloadingScene)
            {
                LinkedListNode <Scene> sceneNode = scenes.First;
                for (int i = 0; i < currentSceneIndex; ++i)
                {
                    sceneNode = sceneNode.Next;
                }

                Debug.Log("Replacing " + sceneNode.Value.name + " in list");
                sceneNode.Value = scene;
                return;
            }

            if (nextSceneIndex < sceneNames.Length)
            {
                GameObject      barrierObject = GameObject.Instantiate(barrierPrefab);
                ElevatorBarrier barrier       = barrierObject.GetComponent <ElevatorBarrier>();
                barrier.transform.position += scenePosition;
                barrier.ElevatorObj         = this;
                barrier.PlayerHead          = playerHead;
                barriers.AddLast(barrier);
            }
            else
            {
                endPosition = barriers.Last.Value.transform.position;
            }

            scenePositions.AddLast(scenePosition);
            scenes.AddLast(scene);
            if (scenes.Count > SceneLoadedCount)
            {
                UnloadScene();
            }
        }
예제 #12
0
 void Start()
 {
     player = hand.Player;
 }
 //-------------------------------------------------
 void Start()
 {
     player = NVRPlayer.Instance;
 }