crop in inv

This commit is contained in:
d-hain 2022-06-08 23:44:16 +02:00
parent 7ceb7e4bcb
commit 81e91c185c
2 changed files with 54 additions and 88 deletions

View file

@ -4,8 +4,7 @@ using UnityEngine;
using static CropAction;
enum CropAction
{
enum CropAction {
NextDay,
Hoe,
Scythe,
@ -13,9 +12,7 @@ enum CropAction
Seeds
}
public class Crop
{
public class Crop {
private const int FinalGrowthStage = 4;
private static Sprite _smallCrop;
@ -34,156 +31,116 @@ public class Crop
private SpriteRenderer _cropSpriteRenderer;
private SpriteRenderer _hydrationSpriteRenderer;
public Crop(SpriteRenderer cropSpriteRenderer, SpriteRenderer hydrationSpriteRenderer)
{
public Crop(SpriteRenderer cropSpriteRenderer, SpriteRenderer hydrationSpriteRenderer) {
_planted = false;
_hydrated = false;
_cropSpriteRenderer = cropSpriteRenderer;
_hydrationSpriteRenderer = hydrationSpriteRenderer;
_smallCrop = BaseTile.GenerateSpriteFromFile("Assets/Farming Asset Pack/Split Assets/farming_tileset_027.png");
_fullyGrownCrop = BaseTile.GenerateSpriteFromFile("Assets/Farming Asset Pack/Split Assets/farming_tileset_040.png");
_hydratedColor = new Color(0.5f, 0.5f, 1.0f, 0.5f);
_smallCrop = BaseTile.GenerateSpriteFromFile("Assets/Farming Asset Pack/Split Assets/farming_tileset_027.png");
_fullyGrownCrop =
BaseTile.GenerateSpriteFromFile("Assets/Farming Asset Pack/Split Assets/farming_tileset_040.png");
_hydratedColor = new Color(0.5f, 0.5f, 1.0f, 0.269420f);
UpdateSprite();
}
private void Grow()
{
private void Grow() {
_growthStage++;
}
public void DayLightStep()
{
public void DayLightStep() {
Debug.Log("Crop.DayLightStep");
ApplyAction(NextDay);
}
public void Clicked(UsableItem usableItem)
{
public void Clicked(UsableItem usableItem) {
Debug.Log("Crop.Clicked UsableItem " + usableItem);
if (usableItem != null)
{
if(usableItem != null) {
ItemContainer ic = ItemContainer.Instance;
if (ic.GetItemIdByName("Hoe") == usableItem.id)
{
if(ic.GetItemIdByName("Hoe") == usableItem.id) {
ApplyAction(Hoe);
}
else if (ic.GetItemIdByName("Scythe") == usableItem.id)
{
} else if(ic.GetItemIdByName("Scythe") == usableItem.id) {
ApplyAction(Scythe);
}
else if (ic.GetItemIdByName("Wheat Seeds") == usableItem.id)
{
} else if(ic.GetItemIdByName("Wheat Seeds") == usableItem.id) {
ApplyAction(Seeds);
}
else if (ic.GetItemIdByName("Watering Can") == usableItem.id)
{
} else if(ic.GetItemIdByName("Watering Can") == usableItem.id) {
ApplyAction(WateringCan);
}
}
}
private void ApplyAction(CropAction action)
{
private void ApplyAction(CropAction action) {
Debug.Log("ApplyAction: CropAction " + action);
if (_planted)
{
if (Hoe == action)
{
if(_planted) {
if(Hoe == action) {
_planted = false;
}
else if (Scythe == action)
{
if (_fullyGrown)
{
} else if(Scythe == action) {
if(_fullyGrown) {
Harvest();
}
}
}
else if (!_planted)
{
if (Seeds == action)
{
} else if(!_planted) {
if(Seeds == action) {
_planted = true;
Inventory.instance.RemoveItem(ItemContainer.Instance.GetItemByName("Wheat Seeds"), 1);
}
}
if (_hydrated)
{
if (NextDay == action)
{
if(_hydrated) {
if(NextDay == action) {
_hydrated = false;
if (_planted)
{
if(_planted) {
Grow();
}
}
}
else if (!_hydrated)
{
if (WateringCan == action)
{
} else if(!_hydrated) {
if(WateringCan == action) {
_hydrated = true;
}
}
UpdateSprite();
}
private void Harvest()
{
private void Harvest() {
AddCropToInventory();
_planted = false;
_growthStage = 0;
}
private void AddCropToInventory()
{
private void AddCropToInventory() {
Inventory.instance.AddItem(ItemContainer.Instance.GetItemByName("Wheat Seeds"), 3);
}
private void UpdateSprite()
{
private void UpdateSprite() {
Dump();
if (_planted)
{
if (_fullyGrown)
{
if(_planted) {
if(_fullyGrown) {
//Debug.Log("sprite fg");
_cropSpriteRenderer.sprite = _fullyGrownCrop;
}
else
{
} else {
//Debug.Log("sprite smallCrop");
_cropSpriteRenderer.sprite = _smallCrop;
}
}
else
{
} else {
_cropSpriteRenderer.sprite = null;
}
if (_hydrated)
{
if(_hydrated) {
//Debug.Log("sprite hydrated");
_hydrationSpriteRenderer.color = _hydratedColor;
}
else
{
} else {
//Debug.Log("sprite no hydrated");
_hydrationSpriteRenderer.color = Color.clear;
}
}
private void Dump()
{
private void Dump() {
Debug.Log("age: " + _growthStage + "\n" +
"hydrated: " + _hydrated + "\n" +
"hydrated: " + _hydrated + "\n" +
"planted: " + _planted);
}
}