Updated Inventory System
Added BuffJelly
This commit is contained in:
		
							parent
							
								
									91667f89b2
								
							
						
					
					
						commit
						0c0876770b
					
				
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/BP_HealingJellyItem.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/BP_HealingJellyItem.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/BP_Interaction.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/BP_Interaction.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/BP_MyTempCharacter.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/BP_MyTempCharacter.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_BuffJelly.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_BuffJelly.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/WBP_ItemDisplay.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/WBP_ItemDisplay.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/WBP_PlayerInventory.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/WBP_PlayerInventory.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/WBP_Shop.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/WBP_Shop.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Images/butterfly-pea-jelly-on-a-plate-9e24c00721c6d67f7486dab91235681c-1920-q70.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Images/butterfly-pea-jelly-on-a-plate-9e24c00721c6d67f7486dab91235681c-1920-q70.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Levels/MerchantPrototype.umap
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Levels/MerchantPrototype.umap
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -3,8 +3,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "InventoryComponent.h"
 | 
					#include "InventoryComponent.h"
 | 
				
			||||||
#include "Items/BaseItem.h"
 | 
					#include "Items/BaseItem.h"
 | 
				
			||||||
 | 
					#include "the_twilight_abyss/PlayerTemp/TempCharacter.h"
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Sets default values for this component's properties
 | 
					// Sets default values for this component's properties
 | 
				
			||||||
@ -36,7 +35,6 @@ bool UInventoryComponent::AddItem(class UBaseItem* BaseItem)
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	BaseItem->StoredItems = this;
 | 
						BaseItem->StoredItems = this;
 | 
				
			||||||
	BaseItem->World = GetWorld();
 | 
						BaseItem->World = GetWorld();
 | 
				
			||||||
	Items.Add(BaseItem);
 | 
						Items.Add(BaseItem);
 | 
				
			||||||
 | 
				
			|||||||
@ -45,16 +45,14 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	//The cost of the item
 | 
						//The cost of the item
 | 
				
			||||||
	UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Item")
 | 
						UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Item")
 | 
				
			||||||
	int32 ItemCostPrice;
 | 
						int ItemCostPrice;
 | 
				
			||||||
 | 
					 | 
				
			||||||
	//ADD A HEALING ITEM VALUE?
 | 
					 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	//reference to the UInventoryComponent script
 | 
						//reference to the UInventoryComponent script
 | 
				
			||||||
	UPROPERTY()
 | 
						UPROPERTY()
 | 
				
			||||||
	class UInventoryComponent* StoredItems;
 | 
						class UInventoryComponent* StoredItems;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//The buy class to purchase the item
 | 
						//The buy class to purchase the item
 | 
				
			||||||
	virtual void Buy(class UItemPurchaseComponent* PurchaseItem) PURE_VIRTUAL(UBaseItem); // WILL SET THIS UP LATER
 | 
						virtual void Buy(class ATempCharacter* PurchaseItem) PURE_VIRTUAL(UBaseItem); // WILL SET THIS UP LATER
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//The use Item class to use the item in the player Inventory
 | 
						//The use Item class to use the item in the player Inventory
 | 
				
			||||||
	virtual void Use(class ATempCharacter* Character);
 | 
						virtual void Use(class ATempCharacter* Character);
 | 
				
			||||||
@ -62,4 +60,7 @@ public:
 | 
				
			|||||||
	//This is the same as the use item class but its in BP instead
 | 
						//This is the same as the use item class but its in BP instead
 | 
				
			||||||
	UFUNCTION(BlueprintImplementableEvent)
 | 
						UFUNCTION(BlueprintImplementableEvent)
 | 
				
			||||||
	void OnUse(class ATempCharacter* Character);
 | 
						void OnUse(class ATempCharacter* Character);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						UFUNCTION(BlueprintImplementableEvent)
 | 
				
			||||||
 | 
						void OnBuy(class ATempCharacter* PurchaseItem);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -24,3 +24,18 @@ void UEatableItems::Use(ATempCharacter* Character)
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void UEatableItems::Buy(ATempCharacter* PurchaseItem)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if(PurchaseItem)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if(PurchaseItem->GoldBalance <= 0)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								UE_LOG(LogTemp, Display, TEXT("Not Enough Gold"));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								PurchaseItem->GoldBalance -= ItemCostPrice;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -19,4 +19,5 @@ class THE_TWILIGHT_ABYSS_API UEatableItems : public UBaseItem
 | 
				
			|||||||
protected:
 | 
					protected:
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	virtual void Use(class ATempCharacter* Character) override;
 | 
						virtual void Use(class ATempCharacter* Character) override;
 | 
				
			||||||
 | 
						virtual void Buy(ATempCharacter* PurchaseItem) override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										19
									
								
								Source/the_twilight_abyss/BaseItems/Items/ShopItems.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								Source/the_twilight_abyss/BaseItems/Items/ShopItems.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					// Fill out your copyright notice in the Description page of Project Settings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "ShopItems.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "the_twilight_abyss/PlayerTemp/TempCharacter.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					UShopItems::UShopItems()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// void UShopItems::Buy(ATempCharacter* PurchaseItem)
 | 
				
			||||||
 | 
					// {
 | 
				
			||||||
 | 
					// 	if(PurchaseItem)
 | 
				
			||||||
 | 
					// 	{
 | 
				
			||||||
 | 
					// 		PurchaseItem->GoldBalance -= ItemCostPrice;
 | 
				
			||||||
 | 
					// 	}
 | 
				
			||||||
 | 
					// }
 | 
				
			||||||
							
								
								
									
										20
									
								
								Source/the_twilight_abyss/BaseItems/Items/ShopItems.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								Source/the_twilight_abyss/BaseItems/Items/ShopItems.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					// Fill out your copyright notice in the Description page of Project Settings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "CoreMinimal.h"
 | 
				
			||||||
 | 
					#include "BaseItem.h"
 | 
				
			||||||
 | 
					#include "ShopItems.generated.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					UCLASS()
 | 
				
			||||||
 | 
					class THE_TWILIGHT_ABYSS_API UShopItems : public UBaseItem
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						GENERATED_BODY()
 | 
				
			||||||
 | 
						UShopItems();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// protected:
 | 
				
			||||||
 | 
					// 	virtual void Buy(ATempCharacter* PurchaseItem) override;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@ -77,6 +77,20 @@ void ATempCharacter::LineTraceLogic()
 | 
				
			|||||||
		{
 | 
							{
 | 
				
			||||||
			return;
 | 
								return;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							if(OutHit.GetActor()->ActorHasTag("HealingJelly"))
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if(GoldBalance >= 100)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									GoldBalance -= 100;
 | 
				
			||||||
 | 
									UE_LOG(LogTemp, Display, TEXT("Item Purchased"));
 | 
				
			||||||
 | 
									// UInventoryComponent* tempInventory = GetOwner()->FindComponentByClass<UInventoryComponent>();
 | 
				
			||||||
 | 
									// tempInventory->AddItem(ItemToBuy);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if(GoldBalance <= 0)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									UE_LOG(LogTemp, Display, TEXT("Not Enough Gold"));
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		if (AInteraction* MyInteractable = Cast<AInteraction>(OutHit.GetActor()))
 | 
							if (AInteraction* MyInteractable = Cast<AInteraction>(OutHit.GetActor()))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			DrawDebugLine(GetWorld(), Start, End, FColor::Green, false, 1.0f);
 | 
								DrawDebugLine(GetWorld(), Start, End, FColor::Green, false, 1.0f);
 | 
				
			||||||
@ -94,3 +108,13 @@ void ATempCharacter::UseItem(class UBaseItem* Item)
 | 
				
			|||||||
		Item->OnUse(this); //Blueprint Version
 | 
							Item->OnUse(this); //Blueprint Version
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void ATempCharacter::BuyItem(UBaseItem* BuyItem)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if(BuyItem)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							BuyItem->Buy(this);
 | 
				
			||||||
 | 
							BuyItem->OnBuy(this);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "CoreMinimal.h"
 | 
					#include "CoreMinimal.h"
 | 
				
			||||||
#include "GameFramework/Character.h"
 | 
					#include "GameFramework/Character.h"
 | 
				
			||||||
 | 
					#include "the_twilight_abyss/BaseItems/Items/BaseItem.h"
 | 
				
			||||||
#include "TempCharacter.generated.h"
 | 
					#include "TempCharacter.generated.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
UCLASS()
 | 
					UCLASS()
 | 
				
			||||||
@ -43,7 +44,16 @@ public:
 | 
				
			|||||||
	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category= "Health")
 | 
						UPROPERTY(EditAnywhere, BlueprintReadOnly, Category= "Health")
 | 
				
			||||||
	float Health;
 | 
						float Health;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						UPROPERTY(EditAnywhere, BlueprintReadOnly, Category= "Gold")
 | 
				
			||||||
 | 
						int GoldBalance;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//Using the item in the inventory
 | 
						//Using the item in the inventory
 | 
				
			||||||
	UFUNCTION(BlueprintCallable, Category= "Items")
 | 
						UFUNCTION(BlueprintCallable, Category= "Items")
 | 
				
			||||||
	void UseItem(class UBaseItem* Item); // Overriding the BaseItem Class
 | 
						void UseItem(class UBaseItem* Item); // Overriding the BaseItem Class
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						UFUNCTION(BlueprintCallable, Category= "Items")
 | 
				
			||||||
 | 
						void BuyItem(class UBaseItem* BuyItem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// UPROPERTY(EditAnywhere, Category= "Items")
 | 
				
			||||||
 | 
						// UBaseItem ItemToBuy;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user