コード例 #1
0
 public static void WriteNewItem(Player_Item item, int index)
 {
     if (index > -1 && ItemObj.Count > index)
     {
         ItemObj[index] = item;
     }
 }
コード例 #2
0
    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);
    }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    public static Player_Item GetItem(int id)
    {
        Player_Item weapon = null;

        if (id >= 0 && ItemList.Count > id)
        {
            weapon = ItemObj[id];
        }

        return(weapon);
    }
コード例 #5
0
 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();
         }
     }
 }
コード例 #6
0
    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);
            }
        }
    }
コード例 #7
0
    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);
                }
            }
        }
    }