Skip to content
Snippets Groups Projects
Resource.cs 953 B
Newer Older
Leevi Grönlund's avatar
Leevi Grönlund committed
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public abstract class Resource : MonoBehaviour
{
    [SerializeField]
    private int resources;

    [SerializeField]
    private Sprite resourceImg;
    [SerializeField]
    protected Sprite[] sprites;

    public Sprite getResourceImg()
        return resourceImg;
Leevi Grönlund's avatar
Leevi Grönlund committed

    public virtual void setAmount(int i)
Leevi Grönlund's avatar
Leevi Grönlund committed
    {
        resources = i;
        refreshSprite();
        checkExistence();
Leevi Grönlund's avatar
Leevi Grönlund committed
    }

    public int getAmount()
    {
        return resources;
    }
    
    public int extractResource(int amount)
    {
        if (resources-amount < 0)
        {
            int r = resources;
            setAmount(0);
Leevi Grönlund's avatar
Leevi Grönlund committed
            return r;
        }
        else
        {
            setAmount(resources - amount);
Leevi Grönlund's avatar
Leevi Grönlund committed
            return amount;
        }
      
    }

    public abstract void refreshSprite();



Leevi Grönlund's avatar
Leevi Grönlund committed

    public abstract void checkExistence();
}