SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Building System
Personagem morrer ao cair da tela
Deixar objeto invisível.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Divulgaçao de Battle of Worlds
[Resolvido]Problema nesse pequeno script
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
[TUTORIAL] Sistema de inventário Sobrevivência
Movimentação
Seguir um raio no raycast a partir do ponto da tela clicado
Puzzle para jogo de terror , abrir portas etc..
Script para mudar posição do personagem
Baixos Brasil - Jogo de Carro Brasileiro!
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
DUVIDA : Raycast
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Adicionar linhas no TXT pelo codigo
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Auto-Complete do Visual Studios
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
Detectar Hit
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
[DUVIDA] Trocar botoes no teclado por joystick UI
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Bug ? offline e online
Conflito de ações HELP
como saber a posição que a particula bateu?
Formação de Equipe Battle of Worlds
[JOGO EM BETA] Batalha de Canhão
Jogo de sobrevivência na ilha PRE-Alpha
Inimigo ao encostar morre e player leva dano UNITY 5 2D
Como faço blocos que somem so clikando neles 1 vez?
Light Bug
Como criar inventário simples no unity
Como fasso para que clico em um botao e aumente o volume junto com grave em uma musica?
como que criar um sitema tipo o do rocket league
tem como criar um modelo no sketchup e exportar pra unity, mas sem os componentes
(duvida)pq aconteçe isso com a luz
Como posso deixar o MENU do meu jogo adequado ao monitor?
Dúvida com o Update
Como eu realizo um inimigo que atira(tipo os inimigos do Warface)?
Bug Chato
Particulas de poeira
Faltando algumas opções no Unity
Audio Player C#
volume do som de acordo com distancia
Shotgun mata um inimigo 4 vezes
Duvida com troca de sprite quando muda camera
Ajuda com script para instanciar objetos no servidor
[TUTORIAL] Sistema de Oficina de Carros
Collider mal funcionando com Raycast
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
Preciso de alguém que modele um escritório - Com recompensa.
Luz Mobile!
Hoje à(s) 9:57 am
Hoje à(s) 9:57 am
Hoje à(s) 7:07 am
Hoje à(s) 12:13 am
Ontem à(s) 11:53 pm
Ontem à(s) 10:15 pm
Ontem à(s) 9:12 pm
Ontem à(s) 9:00 pm
Ontem à(s) 8:34 pm
Ontem à(s) 8:17 pm
Ontem à(s) 7:40 pm
Ontem à(s) 4:29 pm
Ontem à(s) 12:25 pm
Ontem à(s) 12:14 pm
Ontem à(s) 10:55 am
Ontem à(s) 10:26 am
Ontem à(s) 8:21 am
Ontem à(s) 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 4:33 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 9:28 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 9:08 pm
Qui Set 14, 2017 3:17 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Qua Set 13, 2017 11:34 am
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 8:51 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Ter Set 12, 2017 11:54 am
Ter Set 12, 2017 9:59 am
Ter Set 12, 2017 9:43 am
Ter Set 12, 2017 12:17 am
Seg Set 11, 2017 8:54 pm
Seg Set 11, 2017 8:48 pm
Seg Set 11, 2017 8:12 pm
Seg Set 11, 2017 7:18 pm
Seg Set 11, 2017 6:15 pm
Seg Set 11, 2017 6:02 pm
Seg Set 11, 2017 5:31 pm
Seg Set 11, 2017 5:22 pm
Seg Set 11, 2017 5:06 pm
Seg Set 11, 2017 4:53 pm
Seg Set 11, 2017 4:17 pm
Seg Set 11, 2017 4:15 pm
Seg Set 11, 2017 4:14 pm
Seg Set 11, 2017 3:54 pm
Seg Set 11, 2017 3:53 pm
Seg Set 11, 2017 3:51 pm
Seg Set 11, 2017 11:42 am
Seg Set 11, 2017 3:13 am
Dom Set 10, 2017 11:31 pm
Dom Set 10, 2017 9:03 pm
Dom Set 10, 2017 7:39 pm
Dom Set 10, 2017 7:26 pm
Dom Set 10, 2017 2:06 pm
Dom Set 10, 2017 2:00 pm
Dom Set 10, 2017 9:13 am
Sab Set 09, 2017 11:15 pm
Weslley
Bruno
GabriG07
Dom3000
Dom3000
g
Weslley
Phph09
Weslley
Phph09
Zecandy
Weslley
Duarte
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Weslley
Brunotrinkss
guimaraf
Weslley
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
PatifeCraft
Weslley
Carlin
artplayer
Ronnisz
Jhonatham1
Callyde Jr
mrariel2011
AndyShow
Fagner
PatifeCraft
Alerson Software
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo
Callyde Jr
Weslley
Dom3000
Dom3000
dstaroski
dstaroski
guilhermeprata
DUT
Duarte
PatifeCraft
heliab125
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
lantreco
MarcosSchultz
MarcosSchultz
MarcosSchultz
Weslley
Encracker
916anderson
DUT
Feromark2013
Duarte
Encracker
rafaelllsd
BRGC
Fagner

Sistema de inventario (2D?)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA Sistema de inventario (2D?)

Mensagem por willianroma em Qui Ago 04, 2016 5:45 pm

(Creio que não tenha muita diferença do inventario de um jogo 3D pro 2D mas, vai saber né)
Pretendo fazer um inventario para meu jogo e gostaria de saber se tem algum tutorial explicando como posso fazer, é muito complexo fazer um inventario ou da pra fazer um sem muito conhecimento ?

willianroma
Avançado
Avançado

PONTOS : 568
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por NOME-ALEATORIO em Qui Ago 04, 2016 6:02 pm

E Quase Mesma Coisa De Fazer em 3d
avatar
NOME-ALEATORIO
Avançado
Avançado

Masculino PONTOS : 960
REPUTAÇÃO : 23
Idade : 13
Áreas de atuação : Programador Profissional Em ...
Iniciante Profissional Em TUDO
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCGdN6l99rIhtQL84CsmvrKQ

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por RenanMSV em Qui Ago 04, 2016 6:26 pm

complexo
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1857
REPUTAÇÃO : 326
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por Weslley em Qui Ago 04, 2016 6:38 pm

sem muito conhecimento e quase impossível mais se você sabe raciocinar com programação orientada a objeto você vai conseguir

o mais complicado talvez seja salvar os dados mais isso e o de menos

você precisa fazer classe para o slot classe para o inventario classe para item classe para player e ir gerando classes a partir das classes existentes usando o polimorfismo
e o mais importante lógica porque as classe de forma direta ou indireta vão ficar ligados um com outro 

e se envolver multiplayer ai fica mais complexo
avatar
Weslley
Moderador

Masculino PONTOS : 2705
REPUTAÇÃO : 579
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por MarcosSchultz em Sab Ago 06, 2016 12:34 am

Então, inventário é a ovelha negra dos tutoriais... Eh a coisa mais chata e complexa de se fazer, pois meio que tem que ser feito especificamente para o seu projeto, e é interessante utilizar banco de dados.

É um dos poucos assuntos que eu não pretendo trazer em tutorial por que é extremamente difícil eu fazer um sistema e ele se adaptar ao seu jogo de maneira correta sem gerar uma penca de problemas.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9666
REPUTAÇÃO : 1664
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por artplayer em Sab Ago 06, 2016 9:12 pm

Bem, eu acho que encontrei uma maneira "menos complexa" de fazer meus inventários. ( Online ).

Basicamente eu tenho um conjunto de classes php que já tratam tudo (Adição, remoção, armazenamento...).

E eu simplesmente chamo a página com os parâmetros ( id do jogador, item, oque fazer com o item... ) e depois retorno um json e trato de volta no C#. É mais complexo de explicar do que fazer.


Como eu trabalho com servidor autoritário, o meu apache está configurado pra aceitar conexões somente do servidor, assim não corro o risco de manipulações indesejadas. 

Eu estou bem no meio de um projeto e pretendo UM DIA colocar isso no github pra facilitar a vida da galera.
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 1114
REPUTAÇÃO : 243
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por GameDeveloper56 em Qui Ago 11, 2016 1:42 am

Galera, não acho que fazer inventário seja tanto problema. Em quase todos os meus projetos eu crio um sistema desses. Encontrei uma forma simples, porém talvez não a mais correta, que é criar uma lista que armazene os meus objetos.

A lista seria algo assim: 
Código:
using UnityEngine;
using System.Collections.Generic;
using System;

public class Inventario : MonoBehaviour {

    public List<Itens> itens;

}

[Serializable]
public class Itens
{
    public string NomeDoItem; // na verdade, eu geralmente nao utilizo o nome do item, mas sim um ENUM que vai diferenciar um tipo de item do outro.
    public int Quantidade;
}

A partir disso, só precisamos criar funções para adicionar objetos a esta lista.

O real problema chega na hora de salvar, pois se não usarmos banco de dados, tudo isso deve ser gravado com playerprefs.

Uma forma que eu utilizo é salvar valor por valor (por isso disse que talvez não fosse a mais correta), salvando o item em diferentes partes, seguidas do index do item na lista para poder resgatar esse valor futuramente. Outra coisa interessante, é guardar também o número de itens que foram salvos para poder pegar todos os valores sem se preocupar com limite de inventário.

Um exemplo bem básico: 
Código:
using UnityEngine;
using System.Collections.Generic;
using System;

public class Inventario : MonoBehaviour {

    public List<Item> itens;


    void SalvarItens ()
    {
        int indexItens = 0;

        while (indexItens < itens.Count)
        {
            PlayerPrefs.SetString("NomeItem" + indexItens.ToString(), itens[indexItens].NomeDoItem);
            PlayerPrefs.SetInt("Quantidade" + indexItens.ToString(), itens[indexItens].Quantidade);
            PlayerPrefs.SetInt("NumeroDeItensSalvos", indexItens + 1);                             // salvar a quantidade de itens que foram salvos
            indexItens++;
        }
        PlayerPrefs.Save();
    }

    void ResgatarItens ()
    {
        itens.Clear();

        int numeroDeItens = PlayerPrefs.GetInt("NumeroDeItensSalvos");
        int indexItens = 0;

        while (numeroDeItens > indexItens)
        {
            itens.Add(new Item());
            itens[indexItens].NomeDoItem = PlayerPrefs.GetString("NomeItem" + indexItens.ToString());
            itens[indexItens].Quantidade = PlayerPrefs.GetInt("Quantidade" + indexItens.ToString());
            indexItens++;
        }
    }
}

[Serializable]
public class Item
{
    public string NomeDoItem;
    public int Quantidade;
}



Tenho que admitir que é trabalhoso, mas não difícil.
avatar
GameDeveloper56
Membro
Membro

Masculino PONTOS : 645
REPUTAÇÃO : 11
Idade : 19
Áreas de atuação : Programação em C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por RenanMSV em Qui Ago 11, 2016 4:48 am

Tudo bem, é algo simples. Mas isso é só a ponta do iceberg. Ainda tem o sistema de interação com ele, interação com itens... tem gente que chega aqui no forum pedindo um inventário multiplayer ... ai vc ainda terá que criar todo o sistema ant bug, fraude, e de interação entre players, npcs. Por isso não basta apenas salvar itens, é preciso criar um sistema gigante e complexo que vai envolver praticamente todas as areas do jogo.
A não ser que o jogo não use inventario pra quase nada, e só pra salvar 3 itens.
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1857
REPUTAÇÃO : 326
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por artplayer em Qui Ago 11, 2016 7:15 am

Concordo com o meu chará Renan.
Não acho complicado, mas é muito particular e meio que impossível você ter uma coisa genérica.
Até sistema de interação e antifraude  a resposta de como fazer sempre será: Depende!
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 1114
REPUTAÇÃO : 243
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por willianroma em Qui Ago 11, 2016 2:36 pm

blz, pelo que vi é basicamente complexo de fazer um sistema de inventario, mas gostaria de saber onde vcs aprenderam a fazer, foi buscando pela net? tem algo na net que me ajuda a entender como posso fazer um futuramente ?

willianroma
Avançado
Avançado

PONTOS : 568
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Sistema de inventario (2D?)

Mensagem por Weslley em Qui Ago 11, 2016 3:09 pm

não tem muito o que fazer a não ser estudar o básico e ir pro avançado
a sim você pode implementar sua própria lógica eu já fiz um sistema de inventario a um tempo vou mostra o script do slot se vc entender ele você esta apto a fazer um inventario

ele esta incompleto falta fazer algumas funçõese e remover algumas gambiarras

Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.EventSystems;
using Items;

public class Slot : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDragHandler, IPointerClickHandler
{

    #region VARIAVEIS

    public Image iconItem;
    public Text amountItem;

    public Image dragIconItem;

    public Slider durabilitySlider;

    public bool UseTypeToRestriction;
    public ITEM_TYPE restrictionType;

    protected bool currentSlotIsEmpty = true;
    protected bool canDrag = false;
    protected ItemBase currentItemInSlot;
    protected Slot nextSlot = null;

    #endregion

    protected void Start()
    {
        canDrag = false;
    }
    
    protected void Update()
    {
        currentSlotIsEmpty = currentItemInSlot == null ? true : false;

        if (!currentSlotIsEmpty)
        {
            ItemValues();
            iconItem.sprite = currentItemInSlot.iconItem;
            iconItem.enabled = true;
        }
        else
        {
            amountItem.enabled = false;
            iconItem.enabled = false;
            durabilitySlider.gameObject.SetActive(false);
        }
    }
    
    protected void ItemValues()
    {
        if (currentItemInSlot.itemType == ITEM_TYPE.CONSUMABLES)
        {
            ConsumableItemBehaviour consumableItemBehaviour = currentItemInSlot.GetComponent<ConsumableItemBehaviour>();

            if (consumableItemBehaviour.typeComsumable == TYPE_CONSUMABLE.DRINK)
            {
                amountItem.enabled = true;
                float amount = consumableItemBehaviour.amount;
                amountItem.text = string.Format("{0}ML", amount);
            }
        }
        else if (currentItemInSlot.itemType == ITEM_TYPE.CLOTHING || currentItemInSlot.itemType == ITEM_TYPE.WEAPONS)
        {
            durabilitySlider.gameObject.SetActive(true);
            amountItem.enabled = false;
        }
        else
        {
            amountItem.text = string.Format("x{0}", currentItemInSlot.amountItem);
        }
    }

    #region Events

    public virtual void OnPointerClick(PointerEventData eventData)
    {

    }

    public virtual void OnBeginDrag(PointerEventData eventData)
    {
        if (currentItemInSlot == null)
            return;
        
        dragIconItem.sprite = currentItemInSlot.iconItem;
        dragIconItem.enabled = true;
        canDrag = true;
    }

    public virtual void OnDrag(PointerEventData eventData)
    {
        if (!canDrag)
            return;

        Vector2 mousePosition = eventData.position;
        dragIconItem.transform.position = mousePosition;
    }

    public virtual void OnEndDrag(PointerEventData eventData)
    {
        if (!canDrag)
            return;

        if (eventData.pointerEnter != null)
        {
            nextSlot = eventData.pointerEnter.GetComponent<Slot>();
        }

        if (nextSlot != null)
        {
            if (nextSlot.IsEmpty())
            {
                ChangeToSlot(nextSlot);
            }
            else
            {
                if (nextSlot.GetItemInSlot().Stackable)
                {
                    if (currentItemInSlot.idItem == nextSlot.GetItemInSlot().idItem)
                    {
                        CopyToSlot(nextSlot);
                    }
                }
            }
            nextSlot = null;
        }

        canDrag = false;
        dragIconItem.enabled = false;
    }
    #endregion

    #region Actions

    protected void ChangeToSlot(Slot slot)
    {
        if (slot.UseTypeToRestriction)
        {
            if (slot.restrictionType == currentItemInSlot.itemType)
            {
                RemoveItem(currentItemInSlot);
                slot.ChangeItem(currentItemInSlot);
                currentItemInSlot = null;
            }
        }
        else
        {


            if (slot.restrictionItem())
            {
                ClothingBase clotthing = currentItemInSlot.GetComponent<ClothingBase>();

                if (clotthing.clothingType != CLOTHING_TYPE.BACKPACK)
                {
                    slot.ChangeItem(currentItemInSlot);
                    currentItemInSlot = null;
                }
            }
            else
            {
                RemoveItem(currentItemInSlot);
                slot.ChangeItem(currentItemInSlot);
                currentItemInSlot = null;
            }
        }
    }

    protected void CopyToSlot(Slot slot)
    {
        if (slot != this)
        {
            if (currentItemInSlot.itemType == ITEM_TYPE.CONSUMABLES)
            {
                ConsumableItemBehaviour consumableItemBehaviour = currentItemInSlot.GetComponent<ConsumableItemBehaviour>();

                if (consumableItemBehaviour.typeComsumable == TYPE_CONSUMABLE.DRINK)
                {
                    ConsumableItemBehaviour slotconsumableItemBehaviour = slot.GetItemInSlot().GetComponent<ConsumableItemBehaviour>();

                    consumableItemBehaviour.amount -= slotconsumableItemBehaviour.Replace(consumableItemBehaviour.amount);
                }
            }
            else
            {
                int amountItem = (currentItemInSlot.amountItem + slot.GetItemInSlot().amountItem);
                if (amountItem > 250)
                    return;

                slot.GetItemInSlot().amountItem += currentItemInSlot.amountItem;
                currentItemInSlot = null;
            }
        }
    }

    public void AddItemInSlot(ItemBase item)
    {
        if (currentItemInSlot == null)
        {
            currentItemInSlot = item;
            iconItem.enabled = true;
            amountItem.enabled = true;
            currentSlotIsEmpty = false;

            ItemValues();
            iconItem.sprite = item.iconItem;
        }
    }

    public void ChangeItem(ItemBase item)
    {
        if (currentItemInSlot == null)
        {
            currentItemInSlot = item;
        }

        PutItem(item);
    }

    #endregion

    #region Other

    public void IsStacking(ItemBase item)
    {
        currentItemInSlot.amountItem += item.amountItem;
        ItemValues();
    }

    public virtual bool restrictionItem()
    {
        return false;
    }

    public bool IsEmpty()
    {
        return currentSlotIsEmpty;
    }

    public ItemBase GetItemInSlot()
    {
        return currentItemInSlot;
    }

    public void ResetSlot()
    {
        currentItemInSlot = null;
        amountItem.enabled = false;
        iconItem.enabled = false;
        durabilitySlider.gameObject.SetActive(false);
    }

    #endregion

    #region PutEndRemoveItem

    public virtual void ApplyActionItem(ItemBase item)
    {

    }

    public virtual void RemoveActionItem(ItemBase item)
    {

    }

    #endregion
}
avatar
Weslley
Moderador

Masculino PONTOS : 2705
REPUTAÇÃO : 579
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum