Skip to content
Snippets Groups Projects
Commit 99eb7a6d authored by Robin Halseth Sandvik's avatar Robin Halseth Sandvik
Browse files

Merge branch 'master' into 'main'

Massive rework of inventory system.

See merge request !35
parents 0895db37 aadc00f0
No related branches found
No related tags found
2 merge requests!41Pushing new changes in main into master,!35Massive rework of inventory system.
Showing
with 707 additions and 46 deletions
......@@ -277,7 +277,7 @@ namespace BigSock {
/*
Adds a listener for a conditional item to this character's event.
*/
public void AddItemListener(ConditionalItemBase item) {
public void AddItemListener(IConditionalItem item) {
switch(item.Trigger) {
case TriggerType.Fire: OnFire += ((OnFireItemBase) item).Handler; break;
case TriggerType.Hit: OnHit += ((OnHitItemBase) item).Handler; break;
......@@ -294,7 +294,7 @@ namespace BigSock {
/*
Remove a listener for a conditional item from this character's event.
*/
public void RemoveItemListener(ConditionalItemBase item) {
public void RemoveItemListener(IConditionalItem item) {
switch(item.Trigger) {
case TriggerType.Fire: OnFire -= ((OnFireItemBase) item).Handler; break;
case TriggerType.Hit: OnHit -= ((OnHitItemBase) item).Handler; break;
......@@ -312,26 +312,28 @@ namespace BigSock {
Try to pick up an item.
*/
public bool TryPickUpItem(IItem item) {
if(Inventory.AddItem(item)) {
UpdateModifiers();
print($"[Character.TryPickUpItem()] {item.Name} picked up. ({Inventory.Items.Count}/{Inventory.Cap})");
if(Inventory.AddItem(item) != -1) {
//UpdateModifiers();
print($"[Character.TryPickUpItem()] {item.Name} picked up. ({Inventory.Backpack.Count}/{Inventory.BackpackCap})");
return true;
}
print($"[Character.TryPickUpItem()] {item.Name} NOT picked up. ({Inventory.Items.Count}/{Inventory.Cap})");
print($"[Character.TryPickUpItem()] {item.Name} NOT picked up. ({Inventory.Backpack.Count}/{Inventory.BackpackCap})");
return false;
}
/*
Try to drop an item.
!! Depricated, no use this method.
*/
public bool TryDropItem(IItem item) {
if(Inventory.RemoveItem(item)) {
UpdateModifiers();
print($"[Character.TryDropItem()] {item.Name} dropped. ({Inventory.Items.Count}/{Inventory.Cap})");
return true;
}
print($"[Character.TryDropItem()] {item.Name} NOT dropped. ({Inventory.Items.Count}/{Inventory.Cap})");
return false;
throw new NotImplementedException();
// if(Inventory.RemoveItem(item)) {
// //UpdateModifiers();
// print($"[Character.TryDropItem()] {item.Name} dropped. ({Inventory.Items.Count}/{Inventory.Cap})");
// return true;
// }
// print($"[Character.TryDropItem()] {item.Name} NOT dropped. ({Inventory.Items.Count}/{Inventory.Cap})");
// return false;
}
}
......
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
namespace BigSock.Item {
/*
A class that represents an item that provides passive stat boosts.
*/
public abstract class ActiveItemBase : ItemBase, IActiveItem {
/*
The ability the item activates.
*/
public abstract IAbility Ability { get; }
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 0e7dc546f6b48824c82371beb01ec593
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -10,7 +10,7 @@ namespace BigSock.Item {
/*
A class that represents an item that an effect when a condition is meet.
*/
public abstract class ConditionalItemBase : ItemBase {
public abstract class ConditionalItemBase : ItemBase, IConditionalItem {
public static readonly System.Random RND = new System.Random();
......
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
namespace BigSock.Item {
/*
An interface for items that needs to be activated manually.
*/
public interface IActiveItem : IItem {
/*
The ability the item activates.
*/
IAbility Ability { get; }
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 464182374ada7ac47b2d0bbc23232e22
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
namespace BigSock.Item {
/*
An interface for items that trigger on a particular condition.
*/
public interface IConditionalItem : IInactiveItem {
/*
The type of trigger this item uses.
*/
TriggerType Trigger { get; }
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 7f746e9fa2e053641875903d549b140a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
namespace BigSock.Item {
/*
An interface an item that isn't an active item.
*/
public interface IInactiveItem : IItem {
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 93e248179b4fee8428e39b1579ae6df0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
namespace BigSock.Item {
/*
An interface for items that are passive.
*/
public interface IPassiveItem : IInactiveItem {
/*
The modifier of the item.
*/
ICharacterStats Modifier { get; set; }
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: a3123e6cdf218144cb7916a122b22aa1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -10,7 +10,7 @@ namespace BigSock.Item {
/*
A class that represents an item that provides passive stat boosts.
*/
public abstract class PassiveItemBase : ItemBase {
public abstract class PassiveItemBase : ItemBase, IPassiveItem {
/*
The modifier of the item.
*/
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment