Animations

beginning of animals
This commit is contained in:
dhain 2022-06-10 08:56:29 +02:00
parent c98713e3a7
commit 1d80f01994
21 changed files with 1156 additions and 24 deletions

19
Assets/Scripts/Animal.cs Normal file
View file

@ -0,0 +1,19 @@
using DefaultNamespace;
using UnityEngine;
public class Animal : MonoBehaviour {
protected Sprite animalSprite;
private Item producedItem;
protected Animal(Item producedItem) {
this.producedItem = producedItem;
}
// TODO: Movement
// TODO: Animations
private void OnMouseDown() {
ActionInvoker.InvokeAction(gameObject, PlayerController.instance.SelectedItem);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 36cb7b1a78935094f84a770ea77f308c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,3 @@
public interface IPurchasable {
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b4a4f63f7f474fa18f9b72f6ac175e7f
timeCreated: 1654844062

View file

@ -40,7 +40,7 @@ public class Inventory : ItemStorage {
*/
public override void RemoveItem(Item item, int amount) {
base.RemoveItem(item, amount);
if (!items.ContainsKey(item) && PlayerController.instance.GetSelectedItem() == item) {
if (!items.ContainsKey(item) && PlayerController.instance.SelectedItem == item) {
PlayerController.instance.DeselectItem();
}
}

View file

@ -27,11 +27,22 @@ public class PlayerController : MonoBehaviour {
public int startMoney;
public TextMeshProUGUI moneyTextMeshProUGUI;
public int Money => _money;
public UsableItem SelectedItem {
get => _selectedItem;
set {
if(_inventory.items.ContainsKey(value)) {
_selectedItem = value;
Cursor.SetCursor(value.defaultSprite.texture, Vector2.zero, CursorMode.Auto);
} else {
//Debug.Log("An item requested to select isn't in the inventory" + item);
}
}
}
public delegate void OnMoneyChanged();
public OnMoneyChanged onMoneyChangedCallback;
// Start is called before the first frame update
@ -43,24 +54,11 @@ public class PlayerController : MonoBehaviour {
onMoneyChangedCallback += UpdateMoneyUI;
}
public void SetSelectedItem(UsableItem item) {
if(_inventory.items.ContainsKey(item)) {
_selectedItem = item;
Cursor.SetCursor(item.defaultSprite.texture, Vector2.zero, CursorMode.Auto);
} else {
//Debug.Log("An item requested to select isn't in the inventory" + item);
}
}
public void DeselectItem() {
_selectedItem = null;
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}
public UsableItem GetSelectedItem() {
return _selectedItem;
}
public void ChangeMoney(int amount) {
_money += amount;

View file

@ -33,7 +33,7 @@ public class TileBehaviour : MonoBehaviour {
}
void OnMouseDown() {
UsableItem usableItem = PlayerController.instance.GetSelectedItem();
UsableItem usableItem = PlayerController.instance.SelectedItem;
if(usableItem != null) {
ActionInvoker.InvokeAction(gameObject, usableItem);
}

View file

@ -8,6 +8,6 @@ public class UsableItem : Item, IUsable {
}
public void Select() {
PlayerController.instance.SetSelectedItem(this);
PlayerController.instance.SelectedItem = this;
}
}