public void Take(ItemController item) { item.photonView.RequestOwnership(); photonView.RPC("RPCTake", Photon.Pun.RpcTarget.OthersBuffered, item.photonView.ViewID); inventary.AddItem(this, item); }
public void GunControl() { ItemController selectedWeapon = inventary.GetSelectedAt("PrimaryWeapon"); if (selectedWeapon != null) { selectedWeapon.Show(); if (selectedWeapon is GunController) { states.Armed = true; GunController GUN = (selectedWeapon as GunController); this.SetHandState(GUN.getGunStats().HandsState); ik.LeftHandPosition = GUN.leftHandPosition; ik.LeftElbowPosition = GUN.leftElbowPosition; if (Player) { GUN.DrawCrossHair(cam); if (!states.Inventary) { if (states.Shooting) { if (!GUN.Attack(this)) { notShooting = false; } } else if (states.Reloading) { GUN.Use(this); } else if (states.FireMode) { GUN.NextFireState(); } } } } else { states.Armed = false; } } else { states.Armed = false; } InventaryGroup weaponGroup = inventary.GetGroup("PrimaryWeapon"); if (weaponGroup != null) { if (states.W1) { weaponGroup.Select(0); } if (states.W2) { weaponGroup.Select(1); } if (states.W3) { weaponGroup.Select(2); } } }
private void ItemsControl() { Collider[] checking = Physics.OverlapSphere(LookAt.position, 2f, LayerMask.GetMask("Item")); if (states.Inventary) { Collider[] checkingArround = Physics.OverlapSphere(this.tr.position, 2f, LayerMask.GetMask("Item")); inventary.inventaryViewer.SceneViewer.ShowItems(checkingArround); } if (checking.Length > 0) { float near = 2f; Collider nearest = null; foreach (Collider c in checking) { Vector3 collisionpos = c.ClosestPoint(LookAt.position); float distance = Vector3.Distance(collisionpos, LookAt.position); if (distance < near) { nearest = c; near = distance; } } if (nearest != null) { ItemController item = nearest.GetComponent <ItemController>(); if (item != null) { if (Player) { inventary.ItemViewer.DrawItemViewer(item.Stats, item.mTransform, cam); } if (states.Interacting) { if (item.Stats.IsPickeable) { Take(item); } else { item.Use(this); } ///take MULTI// inventary.AddItem(this, item); } } } } else { if (this.Player) { inventary.ItemViewer.HideViewer(); } } if (!states.Throwing) { this.GunControl(); } else { this.ThrowControl(); } if (states.Consuming) { ItemController selectedMed = inventary.GetSelectedAt("Meds"); if (selectedMed != null) { if (selectedMed is ConsumableItem) { ConsumableItem consumable = selectedMed as ConsumableItem; consumable.Use(this); } } } }