コード例 #1
0
        void OnTriggerStay(Collider coll)
        {
            sphere.SetActive(true);
            var towerbase = parentMenu.currentBlock.GetComponent <TowerBaseBlock> ();

            if (cancelButton == false)
            {
                towerGhost.transform.position = parentMenu.currentBlock.transform.position + towerbase.towerOffset;
                towerGhost.SetActive(true);
            }
            if (coll.GetComponentInParent <VRTK_ControllerEvents>().triggerPressed == true && clickable == true)
            {
                clickable = false;
                timeStamp = Time.time;
                sphere.SetActive(false);
                parentMenu.Relocate();
                towerbase.inMenu = false;

                if (cancelButton == true)
                {
                    //do nothing
                }
                else if (towerbase.hasTower == false)
                {
                    currentMoney = money.moneyMaster;
                    towerGhost.SetActive(false);
                    if (currentMoney >= towerCost)
                    {
                        if (PlayerCheck())
                        {
                            if (freebuild == false)
                            {
                                towerbase.hasTower = true;
                                money.TowerBuildCost(towerCost);
                                GameObject tower = (GameObject)Instantiate(towerPrefab);
                                tower.transform.position = parentMenu.currentBlock.transform.position + towerbase.towerOffset;
                                towerbase.ownedTower     = tower;
                                money.towersBuilt++;
                            }
                            else
                            {
                                StartCoroutine(FreebuildTowerCheck(towerbase));
                            }
                        }
                    }
                    else
                    {
                    }
                }
            }
        }
コード例 #2
0
 void OnTriggerStay(Collider coll)
 {
     //check if vive or oculus controller
     if (coll.name == "Head" || coll.name == "Ring")
     {
         //if block is clickable and controller trigger is pressed
         if (coll.GetComponentInParent <VRTK_ControllerEvents> ().triggerPressed == true && clickable == true)
         {
             //activate the click delay
             clickable      = false;
             clickTimeStamp = Time.time;
             //set both menus currentblock to inmenu=false to clear any other block that is active
             tem.currentBlock.GetComponent <TowerBaseBlock> ().inMenu = false;
             tbm.currentBlock.GetComponent <TowerBaseBlock> ().inMenu = false;
             //and then set this block to inmenu
             inMenu = true;
             //check if block does not have a tower
             if (!ownedTower)
             {
                 //refresh hastower=false in case one was sold/destroyed
                 hasTower = false;
                 //move other menu offscreen
                 tem.Relocate();
                 //new menu position for this menu based on offset
                 towerButtonsMenu.transform.position = new Vector3(
                     gameObject.transform.position.x + menuOffset.x,
                     gameObject.transform.position.y + menuOffset.y,
                     gameObject.transform.position.z + menuOffset.z);
                 //enable menu after repositioning it
                 tbm.MenuEnabled(gameObject);
                 //if block has a tower
             }
             else if (ownedTower)
             {
                 //move other menu offscreen
                 tbm.Relocate();
                 //new menu position for this menu based on offset
                 towerEditMenu.transform.position = new Vector3(
                     gameObject.transform.position.x + menuOffset.x,
                     gameObject.transform.position.y + menuOffset.y,
                     gameObject.transform.position.z + menuOffset.z);
                 //enable menu after repositioning it
                 tem.MenuEnabled(gameObject, ownedTower);
             }
         }
     }
 }