public static void WriteNewItem(Player_Item item, int index) { if (index > -1 && ItemObj.Count > index) { ItemObj[index] = item; } }
void Remove(Player_Item it, GameObject obj) { GameObject newo = Instantiate <GameObject>(Resources.Load <GameObject>(it.prefab_object)); newo.transform.position = transform.position + transform.forward * 2.5f; Destroy(obj); list.Remove(it); }
void HandleUpdateItemPosition(NetworkMessage netMsg) { Message.ItemPositionUpdate update = netMsg.ReadMessage <Message.ItemPositionUpdate>(); Player_Item item = Data_ListPlayerOnScene.GetItem(update.itemIndex); if (item) { item.SyncPosition(update.vect, update.rotate); } }
public static Player_Item GetItem(int id) { Player_Item weapon = null; if (id >= 0 && ItemList.Count > id) { weapon = ItemObj[id]; } return(weapon); }
public static void RemoveItem(int id) { if (id >= 0 && ItemList.Count > id) { Player_Item weapon = ItemObj[id]; if (weapon) { Destroy(weapon.gameObject); ItemList[id] = null; ItemObj[id] = null; nullItem.Add(id); nullItem.Sort(); } } }
void HandlePickUpItem(NetworkMessage netMsg) { Message.PickUpItem up = netMsg.ReadMessage <Message.PickUpItem>(); Player_AnimateControl controll = Data_ListPlayerOnScene.GetPlayerControll(up.index); if (controll) { Player_Item item = Data_ListPlayerOnScene.GetItem(up.itemIndex); if (item) { item.TakeWeapon(controll.rightHand, controll); } if (up.thisPlayer) { Chat.AmmoMax(up.ammo, up.ammoMax); } } }
void Update() { Debug.DrawRay(transform.position, transform.forward * 2.5f, Color.black); int Mask_Items = 1 << 10; RaycastHit info; Ray _ray = new Ray(transform.position, transform.forward); if (Physics.Raycast(_ray, out info, 2.5f, Mask_Items)) { in_Object = true; Player_Item item = info.collider.GetComponent <Player_Item>(); if (Input.GetKeyDown(KeyCode.E) && item != null) { list.Add(item); Destroy(info.collider.gameObject); } } if (Input.GetKeyDown(KeyCode.I) && inventory == false) { inventory_panel.SetActive(true); inventory = true; Time.timeScale = 0f; Cursor.lockState = CursorLockMode.None; Cursor.visible = true; int count = list.Count; for (int i = 0; i < count; i++) { Player_Item it = list[i]; if (inventory_layout.transform.childCount >= i) { GameObject img = Instantiate(image_on_Slot); img.transform.SetParent(inventory_layout.transform.GetChild(i).transform); img.GetComponent <Image>().sprite = Resources.Load <Sprite>(it.image_object); img.AddComponent <Button>().onClick.AddListener(() => Remove(it, img)); } else { break; } } } else if (Input.GetKeyDown(KeyCode.I) && inventory) { inventory_panel.SetActive(false); inventory = false; Time.timeScale = 1f; Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; for (int i = 0; i < inventory_layout.transform.childCount; i++) { if (inventory_layout.transform.GetChild(i).transform.childCount > 0) { Destroy(inventory_layout.transform.GetChild(i).transform.GetChild(0).gameObject); } } } }