Ejemplo n.º 1
0
 public void Reset()
 {
     weaponManager       = GameController.Instance.GetPlayer().GetComponentInChildren <WeaponManager>();
     weapons             = weaponManager.allWeapons;
     weaponVendor        = GameObject.Find("Vendor").GetComponent <WeaponVendor>();
     ammoVendorContainer = GameObject.Find("Vendor").GetComponent <AmmoVendorContainer>().ammoVendors;
 }
Ejemplo n.º 2
0
 public void CmdInteractions()        //Used to check all interactions between the player and the environment/entities.
 {
     if (Input.GetKeyDown(KeyCode.E)) //Checks whether or not the player is attempting to interact and shoots a raycast out.
     {
         Vector3    mousePosition = camera.GetComponentInChildren <Camera>().ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 0));
         RaycastHit hit;
         if (Physics.Raycast(mousePosition, camera.transform.forward, out hit, interactRange)) //Checks whether or not the raycast has hit anything.
         {
             if (hit.collider.tag == "Player")                                                 //If the raycast hits another player while they are downed, begin reviving.
             {
                 hit.collider.GetComponent <Player>().beingRevived = true;
                 revivingPlayer = true;
             }
             if (hit.collider.tag == "PerkMachine") //If the raycast hits a PerkMachine, check whether or not the player is able to buy said perk and add it to the curPerk list if they can.
             {
                 PerkMachine perkHitRef = hit.collider.GetComponent <PerkMachine>();
                 if (PerkCheck(perkHitRef.Perk) == false) //Checks whether or not the player has already received this perk.
                 {
                     if (money >= perkHitRef.Cost)        //Checks if the player has enough money for the perk.
                     {
                         money -= perkHitRef.Cost;
                         curPerks.Add(PerkData.AddPerk(perkHitRef.Perk));
                         curPerks[curPerks.Count - 1].ApplyStats(this);
                     }
                 }
             }
             if (hit.collider.tag == "GunVendor") //If the raycast hits a GunVendor, check whether or not the player does not already have said gun and either allow the player to buy said gun or refill ammo.
             {
                 WeaponVendor weaponHitRef = hit.collider.GetComponent <WeaponVendor>();
                 Debug.Log("Registered Weapon Vendor");
                 if (WeaponCheck(weaponHitRef.WeaponName) == false) //Checks whether or not the player already has the gun.
                 {
                     Debug.Log("Name Check Complete Weapon Vendor");
                     if (money >= weaponHitRef.Cost) //Checks whether or not the player has enough money for the gun and if they do, buys it.
                     {
                         money -= weaponHitRef.Cost;
                         curWeapons.Add(WeaponType.AddWeapon(weaponHitRef.WeaponName));
                     }
                 }
                 else //If the player alreay has the gun, allows the player to buy a ammo refill.
                 {
                     if (money >= weaponHitRef.Cost) //Checks whether or not the player has enough money for the refill.
                     {
                         money -= weaponHitRef.Cost;
                         for (int i = 0; i < curWeapons.Count; i++) //Checks whether or not the weapon is in the current weapon slot and applies the ammo refill.
                         {
                             if (curWeapons[i].Name == weaponHitRef.WeaponName)
                             {
                                 curWeapons[i].Ammo = curWeapons[i].AmmoMax;
                             }
                         }
                     }
                 }
             }
             if (hit.collider.tag == "Door") //If the raycast hits a Door, check whether or not the player has enough money to open said door
             {
                 Door doorHitRef = hit.collider.GetComponentInParent <Door>();
                 int  doorIndex  = GetNumberFromString(hit.collider.name);
                 if (doorHitRef.doorOpen[doorIndex] == false) //Checks whether or not the door has already been openned.
                 {
                     if (money >= doorHitRef.cost[doorIndex]) //If the player has enough money for the door, buys the door and opens it.
                     {
                         money -= doorHitRef.cost[doorIndex];
                         doorHitRef.OpenDoor(doorIndex);
                     }
                 }
             }
         }
     }
 }