Ajuda em script de inventario
3 participantes
Página 1 de 1
Ajuda em script de inventario
Olá pessoal queria saber se vocês podem me ajudar com este script... bom o sistema é mandar informações do gameobject para um UI. Os Slots do inventario vão ser fixos, então eu só preciso que o script <Inventario controller> envie as informações do game object para o IU
<IventarioController>
<SlotsConfg>
<ItemReference>
Obs: eu tentei usar o sistema de inventario da maayleone porem nao deu muito certo se alguem poder me ajudar, eu agradeço muito, eu usei o codigo dela como base agora to tentando dar uma aprimorado do meu jeito
<IventarioController>
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
public class InventoryController : MonoBehaviour
{
[SerializeField]
Item[] arrayInventory;
public List<Item>_Inventory { get; private set; }
public void Awake()
{
_Inventory = new List<Item>();
_Inventory = arrayInventory.OrderBy(i => i.Name).ToList();
}
public void AddItem(Item item)
{
if (item != null)
_Inventory.Add (item);
}
public void RemoveItem(Item item)
{
if (item != null)
_Inventory.Remove (item);
}
}
<SlotsConfg>
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SlotsConfig : MonoBehaviour
{
public ItemReference _element;
private List<Item> _inventory;
void Start()
{
_inventory = new List<Item> ();
_inventory = FindObjectOfType<InventoryController> ()._Inventory;
}
private void InstantiateElements()
{
for (int i = 0; i < _inventory.Count; i++)
{
if (IsRepeated (i))
continue;
(Instantiate(_element, transform) as ItemReference).SetValues(_inventory [i]);
}
}
bool IsRepeated(int i)
{
if (i == 0)
return false;
return _inventory[i].ID == _inventory[i - 1].ID;
}
}
<ItemReference>
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ItemReference : MonoBehaviour
{
public Image Icon;
public Text CountText;
public Item _Item { get; private set; }
public void SetValues(Item item)
{
_Item = item;
Icon.sprite = item.Icon;
UpdateCount();
}
private void UpdateCount()
{
CountText.text = "x" + _Item.Count.ToString();
}
}
Obs: eu tentei usar o sistema de inventario da maayleone porem nao deu muito certo se alguem poder me ajudar, eu agradeço muito, eu usei o codigo dela como base agora to tentando dar uma aprimorado do meu jeito
Pkneves- MembroAvançado
- PONTOS : 1385
REPUTAÇÃO : 11
Respeito as regras :
Re: Ajuda em script de inventario
Olá! Foi eu quem criou o tutorial do sistema de invetário que vc citou.
Parece-me tudo ok com os scripts q vc enviou aqui. Qual seria o problema espeficamente? Oq está dando de errado?
Parece-me tudo ok com os scripts q vc enviou aqui. Qual seria o problema espeficamente? Oq está dando de errado?
Re: Ajuda em script de inventario
Olá é um prazer ta falando com vc, o seu sistema é Bom d+ eu estava com problema na hora de Instancia as referencias, eu não tinha percebido que faltava indicar na void startMayLeone escreveu:Olá! Foi eu quem criou o tutorial do sistema de invetário que vc citou.
Parece-me tudo ok com os scripts q vc enviou aqui. Qual seria o problema espeficamente? Oq está dando de errado?
- Código:
void Start()
{
InstantiateElementos();
}
O problema já foi resolvido, muito obrigadoo
Pkneves- MembroAvançado
- PONTOS : 1385
REPUTAÇÃO : 11
Respeito as regras :
Re: Ajuda em script de inventario
eu queria aproveitar para fazer uma pergunta, por acaso tem alguma forma de modificar o script ? Por exemplo, os slots seriam fixos não precisaria ficar instanciando eles toda vez, a sim o utilizar do script poderia ter uma base de quantos itens o personagem pode levar, e adicionar um script novo para que o personagem pegue o prefb em real tempo de jogo e mandando direto para lista do "Inventorycontroller" no caso algo mais o menos assim !MayLeone escreveu:Olá! Foi eu quem criou o tutorial do sistema de invetário que vc citou.
Parece-me tudo ok com os scripts q vc enviou aqui. Qual seria o problema espeficamente? Oq está dando de errado?
- Código:
[SerializeField] private Inventory inventory;
void Update()
{
inventory.AddItem (GameObject);
}
Pkneves- MembroAvançado
- PONTOS : 1385
REPUTAÇÃO : 11
Respeito as regras :
Re: Ajuda em script de inventario
eu não estou conseguindo instanciar o profab no unity 2020
- Código:
public ItemReferese _element;
Tópicos semelhantes
» [Ajuda]Script de inventario
» Ajuda com um inventario
» [Ajuda] Em um sistema de inventario!
» AJUDA SISTEMA DE INVENTARIO NO PHOTON
» Erro com script de inventario.
» Ajuda com um inventario
» [Ajuda] Em um sistema de inventario!
» AJUDA SISTEMA DE INVENTARIO NO PHOTON
» Erro com script de inventario.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos