player loot box and other bug fixes

This commit is contained in:
tonyomendoza 2023-01-15 03:39:47 -08:00
parent e596cb5983
commit 9de7b71cf4
31 changed files with 7624 additions and 251 deletions

View File

@ -180,22 +180,23 @@ MonoBehaviour:
m_EditorClassIdentifier:
width: 1
height: 1
image: {fileID: 1566954026795457554}
useImageAsSlotHolder: 0
image: {fileID: 0}
grid: {fileID: 0}
CellInUse: 0
StackItemsOnSlot: 0
groupSlot: {fileID: 0}
cellX: 0
cellY: 0
EquipSlot: 0
LinkedSlots: []
FitItemImageInSlotImage: 0
IgnoreItemSize: 0
AllowedItemTags:
DisallowedItemTags:
HasSlotsBelongingToItem: []
limitStackSlot: {fileID: 0}
limitStackSlotManager: {fileID: 0}
HasSlotsBelongingToItem: []
imageScale: 1
AllowedItemTags:
DroppedOnFrame: 0
LinkedSlots: []
groupSlots: []
grid: {fileID: 0}
CellInUse: 0
imageScale: 1
StackItemsOnSlot: 0
--- !u!114 &8393752999242408984
MonoBehaviour:
m_ObjectHideFlags: 0

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 7032d000d3add4948ae9729fff4b493a
DefaultImporter:
guid: da7a26b146274ee4783989b1ee055931
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:

View File

@ -1,4 +1,4 @@
using System.Collections;
//using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@ -7,14 +7,15 @@ namespace SimpleInventorySystem
public class Inventory : MonoBehaviour
{
// Start is called before the first frame update
public List<Item> items;
public bool hasBeenLooted = false;
public List<GameObject> prefabs;
[HideInInspector] public List<ItemUI> itemUIs;
//[SerializeField] private Slot[] slots;
void Start()
{
itemUIs = new List<ItemUI>();
}
// Update is called once per frame
@ -22,5 +23,55 @@ namespace SimpleInventorySystem
{
}
/// <summary>
/// Instantiates the item prefab first and calls necessary stuff.
/// </summary>
public void Loot()
{
if (!hasBeenLooted && prefabs != null)
{
for (int i = 0; i < prefabs.Count; i++)
{
if (prefabs[i] == null)
{
prefabs.Remove(prefabs[i]);
}
else
{
GameObject gObj = Instantiate(prefabs[i]);
ItemUI item = gObj.GetComponentInChildren<ItemUI>();
if(item != null)
{
item.gameObject.SetActive(true);
AddOwnership(item, this);
//item.transform.SetParent(transform, true);
item.InitializeImageSize();
item.ResetTransform();
//gObj.transform.SetParent(item.transform, true);
gObj.SetActive(false);
}
}
}
hasBeenLooted = true;
}
else
{
hasBeenLooted = true;
}
}
public void RemoveOwnership(ItemUI item, Inventory newOwnerInventory)
{
item.Inventory = newOwnerInventory;
//items.Remove(item.pickUp.ItemGameObject);
itemUIs.Remove(item);
newOwnerInventory.AddOwnership(item, this);
}
public void AddOwnership(ItemUI item, Inventory oldOwnerInventory)
{
//items.Add(item.pickUp.ItemGameObject);
itemUIs.Add(item);
}
}
}

View File

@ -77,6 +77,50 @@ namespace SimpleInventorySystem
{
return slot.GetItemUI() != null;
}
public bool DropOntoSlot(ItemUI item)
{
return item.ItemTag == itemTag && slot != null && (!HasSlotOccupied() || slot.IsStacking()) && slot.DropOntoSlot(item.gameObject);
}
public bool CanEquip(ItemUI item)
{
return item.ItemTag == itemTag && slot != null && (!HasSlotOccupied() || slot.IsStacking());
}
}
[Serializable]
public class TagSlotGridPairing
{
public ItemTags itemTag;
public SlotUI slot;
[HideInInspector] public GridUI grid;
public bool IsSlotOccupied()
{
return slot.GetItemUI() != null;
}
public bool DropOntoGrid(ItemUI item)
{
//List<GridUI.Cell> cells = new List<GridUI.Cell>();
//bool canMoveInCells = grid.CanMoveInCells(item, slot, cells);
bool dropped = CanStore(item) && grid.DropItemOnGrid(item.gameObject);
Debug.Log("IS:" + dropped);
return dropped;
}
public bool CanStore(ItemUI item)
{
bool preliminaryCheck = item != null && (item.ItemTag == itemTag || itemTag == ItemTags.Any) && slot != null && IsSlotOccupied() && slot.GetItemUI().container != null;
bool slotCheck = preliminaryCheck && slot != null && slot.GetItemUI() != null && slot.GetItemUI().container != null;
if (!slotCheck)
return slotCheck;
grid = slot.GetItemUI().container.GetComponent<GridUI>();
bool gridCheck = grid != null;
Debug.Log("IS:" + gridCheck);
return slotCheck && gridCheck;
}
}
public class InventorySystem : MonoBehaviour, IPointerClickHandler
@ -111,8 +155,12 @@ namespace SimpleInventorySystem
public static List<GameObject> hoverResults;
public Player_IS player;
public List<TagSlotPairing> TagSlotPairings;
public List<TagSlotGridPairing> TagSlotGridPairings;
public List<Rarity> raritiesList;
[Range(0, 1)] public float ItemBackdropTransparency = .5f;
public GridUI LootGrid;
private Inventory LastLootedInventory;
public GameObject StorageWindowPrefab;
public enum States { Undefined, Loot, PickUp };
public States CurrentState = States.Undefined;
@ -190,9 +238,23 @@ namespace SimpleInventorySystem
// TODO: Temporary solution. We will need to find the exact player for the client player.
}
if(LootGrid == null)
{
LootGrid = GetComponentInChildren<GridUI>();
return false;
}
return true;
}
public GameObject OpenWindow()
{
if(InventorySystem.instance.StorageWindowPrefab.GetComponent<StorageWindowUI>() != null)
return Instantiate(InventorySystem.instance.StorageWindowPrefab, inventoryUI.transform);
else
return null;
}
// Update is called once per frame
void Update()
{
@ -296,6 +358,7 @@ namespace SimpleInventorySystem
Cursor.lockState = CursorLockMode.Confined;
toolbarEvents.GetComponent<MoveChildrenUI>().MoveToTarget(false, true);
}
public void CloseInventory()
{
toolbarEvents.GetComponent<MoveChildrenUI>().MoveToSource(true, false);
@ -304,7 +367,6 @@ namespace SimpleInventorySystem
InventoryMenuUI.SetActive(false);
}
public void OpenContextMenu(MonoBehaviour uiContext)
{
if (uiContext.GetType() == typeof(ItemUI))
@ -355,10 +417,10 @@ namespace SimpleInventorySystem
CurrentState = States.PickUp;
DisplayMessageSystem.instance.NameOfItemInWorldWithFocus = response_pickUp.itemUI.itemName;
Debug.Log("IS: Detecting PickUp");
//Debug.Log("IS: Detecting PickUp");
if (interactKeyInput.pressedKey)
{
Debug.Log("IS: Pickup handle");
//Debug.Log("IS: Pickup handle");
player.HandlePickup(response_pickUp);
}
@ -380,7 +442,7 @@ namespace SimpleInventorySystem
continue; // ignore self
}
/*if (response_inventory != null && !InventorySystem.instance.IsUsingInventoryMenuUI())
if (response_inventory != null && !InventorySystem.instance.IsUsingInventoryMenuUI())
{
Debug.Log("Opening Inventory");
if (interactKeyInput.PressedKey(true))
@ -388,6 +450,7 @@ namespace SimpleInventorySystem
OpenInventory();
LootMenuUI.SetActive(true);
StatsMenuUI.SetActive(false);
Loot(response_inventory);
CurrentState = States.Undefined;
}
else if (!InventorySystem.instance.IsUsingInventoryMenuUI())
@ -400,7 +463,7 @@ namespace SimpleInventorySystem
CurrentState = States.Undefined;
LootMenuUI.SetActive(false);
StatsMenuUI.SetActive(true);
}*/
}
}
}
@ -415,6 +478,16 @@ namespace SimpleInventorySystem
}*/
}
public void Loot(Inventory inventory)
{
if (inventory != null && inventory != player.inventory && !inventory.hasBeenLooted)
{
inventory.Loot();
Debug.Log($"Looting: {inventory.itemUIs.Count}");
StartCoroutine(LootGrid.PopulateItemsWithNewInventory(inventory.itemUIs));
}
}
/// <summary>
/// This can be called to check if player is interacting with the Inventory System's UI
/// </summary>

View File

@ -117,13 +117,17 @@ namespace SimpleInventorySystem
if (InventorySystem.instance.player.AttachItemGameObject(ItemGameObject, itemUI.ItemTag, itemUI))
{
Debug.Log("Attached");
ItemGameObject.layer = LayerMask.NameToLayer("RenderTextureTarget");
ItemRigidBody.useGravity = false;
ItemRigidBody.isKinematic = true;
pickUpCollider.enabled = false;
pickUpRange.GetComponent<Collider>().enabled = false;
}
}
else if (itemUI.Store())
{
Debug.Log("Pickup: Stored");
}
// assume there is no tsp, then try to drop in most available backpack slot
/*else if (PlaceInContainerOfItemInSlot != null)
{

View File

@ -18,7 +18,7 @@ namespace SimpleInventorySystem
// Start is called before the first frame update
void Start()
{
inventory = GetComponent<Inventory>();
}
public bool AttachItemGameObject(GameObject go, ItemTags itemTag, ItemUI itemUI)
@ -51,10 +51,10 @@ namespace SimpleInventorySystem
public void HandlePickup(PickUp storedPickUp)
{
SPU = storedPickUp;
Debug.Log("Handling Pickup");
//Debug.Log("Handling Pickup");
if (storedPickUp != null && pickUpsInRange.Contains(storedPickUp))
{
Debug.Log("Picking up" + storedPickUp.name);
//Debug.Log("Picking up" + storedPickUp.name);
storedPickUp.PickUpHandler();
}
}

View File

@ -0,0 +1,42 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using System;
namespace SimpleInventorySystem {
public class ChangeSlotTitle : MonoBehaviour
{
public SlotTitlePair[] SlotTitlePairs;
public TextMeshProUGUI text;
private string oldText;
public void Start()
{
oldText = text.text;
}
public void ChangeTitle(ItemTags itemTag)
{
for(int i = 0; i < SlotTitlePairs.Length; i++)
{
if(SlotTitlePairs[i].itemTag == itemTag)
{
text.text = SlotTitlePairs[i].title;
}
}
}
public void ResetTitle()
{
text.text = oldText;
}
}
[Serializable]
public class SlotTitlePair
{
public ItemTags itemTag;
public string title;
}
}

View File

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

View File

@ -3,58 +3,63 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using TMPro;
public class DragWindowUI : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler, IPointerDownHandler
namespace SimpleInventorySystem
{
private RectTransform dragRectTransform;
private Canvas canvas;
private Image backgroundImage;
private Color backgroundColor;
public void OnBeginDrag(PointerEventData eventData)
public class DragWindowUI : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler, IPointerDownHandler
{
backgroundColor.a = .4f;
backgroundImage.color = backgroundColor;
}
private RectTransform dragRectTransform;
private Canvas canvas;
private Image backgroundImage;
private Color backgroundColor;
public TextMeshProUGUI title;
public void OnDrag(PointerEventData eventData)
{
dragRectTransform.anchoredPosition += eventData.delta / canvas.scaleFactor;
}
public void OnBeginDrag(PointerEventData eventData)
{
backgroundColor.a = .4f;
backgroundImage.color = backgroundColor;
}
public void OnEndDrag(PointerEventData eventData)
{
backgroundColor.a = .8f;
backgroundImage.color = backgroundColor;
}
public void OnDrag(PointerEventData eventData)
{
dragRectTransform.anchoredPosition += eventData.delta / canvas.scaleFactor;
}
public void OnPointerDown(PointerEventData eventData)
{
dragRectTransform.SetAsLastSibling();
}
public void OnEndDrag(PointerEventData eventData)
{
backgroundColor.a = .8f;
backgroundImage.color = backgroundColor;
}
public void CloseWindow()
{
//Destroy(dragRectTransform.gameObject);
transform.parent.gameObject.SetActive(false);
}
public void OnPointerDown(PointerEventData eventData)
{
dragRectTransform.SetAsLastSibling();
}
void Awake()
{
dragRectTransform = transform.parent.GetComponent<RectTransform>();
backgroundImage = GetComponent<Image>();
backgroundColor = backgroundImage.color;
}
public void CloseWindow()
{
//Destroy(dragRectTransform.gameObject);
transform.parent.gameObject.SetActive(false);
}
// Start is called before the first frame update
void Start()
{
canvas = SimpleInventorySystem.InventorySystem.instance.inventoryUI;
}
void Awake()
{
dragRectTransform = transform.parent.GetComponent<RectTransform>();
backgroundImage = GetComponent<Image>();
backgroundColor = backgroundImage.color;
}
// Update is called once per frame
void Update()
{
// Start is called before the first frame update
void Start()
{
canvas = SimpleInventorySystem.InventorySystem.instance.inventoryUI;
}
// Update is called once per frame
void Update()
{
}
}
}

View File

@ -16,6 +16,7 @@ namespace SimpleInventorySystem
public GameObject CellPrefab;
public bool generateCells; // will autopopulate grid
public SlotUI[] slots;
[HideInInspector] public ItemUI associatedItemUI;
[SerializeField] public Size gridSize;
internal void ChangeGridLayoutSize(int rows, int columns)
@ -40,6 +41,16 @@ namespace SimpleInventorySystem
}
private bool cellsInitialized;
public void SetAssociatedItemUI(ItemUI itemUI)
{
associatedItemUI = itemUI;
}
public bool IsAssociatedItem(ItemUI itemUI)
{
return associatedItemUI == itemUI;
}
void SetUpCellsArray()
{
gridLayout = GetComponent<GridLayoutGroup>();
@ -92,23 +103,24 @@ namespace SimpleInventorySystem
slot.grid = this;
slot.AllowedItemTags = new List<ItemTags>();
slot.AllowedItemTags.Add(ItemTags.Any);
cells[y, x] = new Cell(x, y, cell.GetComponentInChildren<SlotUI>(), false);
cells[y, x].GetSlot().SetCell(cells[y, x]);
Debug.Log("Foo: " + (slot == null));
Debug.Log("Bar: " + (cells[y, x].GetSlot().cell == null));
cells[y, x] = new Cell(x, y, slot, false);
//cells[y, x].GetSlot().SetCell(cells[y, x]);
//Debug.Log("Foo: " + (slot == null));
//Debug.Log("Bar: " + (cells[y, x].GetSlot().cell == null));
//cells[y, x].inUse = false;
//}
}
}
cellsInitialized = true;
if (cells != null && cells[0, 0] != null && testItem != null)
/*if (cells != null && cells[0, 0] != null && testItem != null)
{
Debug.Log("Add item");
Cell cell = cells[0, 0];
GameObject item = Instantiate(testItem);
cell.slot.DropOntoSlot(item);
//item.transform.SetParent(.gameObject.transform);
}
}*/
if (testItems != null)
{
@ -159,6 +171,54 @@ namespace SimpleInventorySystem
}
}
public IEnumerator PopulateItemsWithNewInventory(List<ItemUI> items)
{
Debug.Log("Populating Inventory");
yield return new WaitForFixedUpdate();
//InitializeCells();
int i = 0;
int x = 0, y = 0;
foreach (ItemUI item in items)
{
Debug.Log(item.itemName);
bool dropped = false;
try
{
do
{
x = i % gridSize.Width;
y = i / gridSize.Width;
dropped = cells[y, x].slot.DropOntoSlot(item.gameObject);
if (!dropped)
{
//Destroy(item);
}
else
{
item.transform.localScale = new Vector3(1, 1, 1);
}
i++;
} while (!dropped);
}
catch (IndexOutOfRangeException err)
{
Debug.LogWarning("GridUI: " + x + ", " + y);
}
if (item == null)
{
Debug.LogWarning("Could not add all test items");
break;
}
// TODO: Make sure this works as expected
nextAvailableCellCoords = new Vector2(i % gridSize.Width, i / gridSize.Width);
}
}
public bool DropItemOnGrid(GameObject item)
{
if (item != null)
@ -224,6 +284,11 @@ namespace SimpleInventorySystem
// Start is called before the first frame update
void Start()
{
InitializeCells();
}
void InitializeCells()
{
if (!generateCells)
{
@ -290,7 +355,7 @@ namespace SimpleInventorySystem
public bool CanMoveInCells(ItemUI item, SlotUI slot, List<Cell> occupiedCells = null)
{
if (slot == null || slot.cell == null || (slot.cell.inUse && (slot.GetItemUI() != null && !slot.GetItemUI().Stackable)))
if (slot == null || slot.cell == null || (slot.cell.inUse && (slot.GetItemUI() != null && !slot.GetItemUI().Stackable)) || (associatedItemUI == item))
{
Debug.Log("GridUI: CanMoveInCells(): " + slot.gameObject.name + ": A" + (slot.cell == null));
return false;
@ -325,6 +390,8 @@ namespace SimpleInventorySystem
Cell cell = cells[slot.cell.Y + h, slot.cell.X + w];
if (cell != null && cell.inUse)
{
Debug.Log(cell != null);
Debug.Log(cell.inUse);
Debug.Log("GridUI: CanMoveInCells(): " + slot.gameObject.name + ": E");
return false;
}

View File

@ -34,8 +34,19 @@ namespace SimpleInventorySystem
[HideInInspector] public Canvas canvas;
[HideInInspector] public bool PickedUpOnFrame;
[HideInInspector] public List<GameObject> ContextWindows = new List<GameObject>();
[HideInInspector] public StorageWindowUI StorageWindow;
[HideInInspector] public bool IsLinkedSlotClone;
[HideInInspector] public LimitStackSlotCapacity limitStackSlotCapacity;
internal void ResetTransform()
{
RectTransform rect = GetComponent<RectTransform>();
rect.anchorMin = rect.anchorMax = rect.pivot = new Vector2(0, 1);
rect.anchoredPosition = new Vector2();
imageSizeOnGrid = new Size(width * InventorySystem.instance.DefaultSizeOnGrid.Width, height * InventorySystem.instance.DefaultSizeOnGrid.Height);
rect.sizeDelta = new Vector2(imageSizeOnGrid.Width, imageSizeOnGrid.Height);
}
[HideInInspector] public PickUp pickUp;
[HideInInspector] public TargetAttachment targetAttachment;
// private variables
@ -50,6 +61,7 @@ namespace SimpleInventorySystem
private Size imageSizeOnGrid;
private Orientation imageOrientation = Orientation.Portrait;
private RenderItemUIProperty renderProp;
public Inventory Inventory;
// archived variables
//public Item itemPrefab;
@ -192,10 +204,32 @@ namespace SimpleInventorySystem
{
foreach (TagSlotPairing tsp in InventorySystem.instance.TagSlotPairings)
{
if (!tsp.HasSlotOccupied() || tsp.slot.IsStacking())
if (!tsp.CanEquip(this))
{
UnsetSlot();
bool value = tsp.slot.DropOntoSlot(gameObject);
bool value = tsp.DropOntoSlot(this);
if (!value)
{
ReturnToSlot();
}
else
{
return true;
}
}
}
return false;
}
public bool Store()
{
foreach (TagSlotGridPairing tsgp in InventorySystem.instance.TagSlotGridPairings)
{
if (tsgp.CanStore (this))
{
UnsetSlot();
bool value = tsgp.DropOntoGrid(this);
if (!value)
{
ReturnToSlot();
@ -238,6 +272,20 @@ namespace SimpleInventorySystem
// TODO: this need improvement
Equipped = slot.EquipSlot;
}
if (StorageWindow != null && StorageWindow.gameObject.activeSelf)
{
StorageWindow.dragWindowUI.CloseWindow();
}
if (Inventory == null)
{
InventorySystem.instance.player.inventory.AddOwnership(this, null);
}
else if (Inventory != InventorySystem.instance.player.inventory)
{
Inventory.RemoveOwnership(this, Inventory);
}
}
public void GrabAndDragItem()
@ -387,17 +435,7 @@ namespace SimpleInventorySystem
// Start is called\ before the first frame update
void Start()
{
oldImageSizeDelta = image.rectTransform.sizeDelta;
oldSizeDelta = this.rectTransform.sizeDelta;
if (oldImageSizeDelta == Vector2.zero)
{
oldImageSizeDelta = oldSizeDelta;
}
if (oldSizeDelta == Vector2.zero)
{
oldSizeDelta = oldImageSizeDelta;
}
InitializeImageSize();
// TODO: Possibly have item image scale into slot here.
imageSizeOnGrid = new Size(width * InventorySystem.instance.DefaultSizeOnGrid.Width, height * InventorySystem.instance.DefaultSizeOnGrid.Height);
@ -440,6 +478,21 @@ namespace SimpleInventorySystem
}*/
}
public void InitializeImageSize()
{
oldImageSizeDelta = image.rectTransform.sizeDelta;
oldSizeDelta = this.rectTransform.sizeDelta;
if (oldImageSizeDelta == Vector2.zero)
{
oldImageSizeDelta = oldSizeDelta;
}
if (oldSizeDelta == Vector2.zero)
{
oldSizeDelta = oldImageSizeDelta;
}
}
public Orientation ImageOrientation()
{
return imageOrientation;
@ -476,13 +529,18 @@ namespace SimpleInventorySystem
{
if (cells != null)
{
Cell previousCell = slot.cell;
foreach (Cell cell in cells)
{
if (cell != null)
{
SlotUI slot = cell.GetSlot();
if (slot != null)// && !slot.useImageAsSlotHolder)
slot.HideImage();
SlotUI cellSlot = cell.GetSlot();
if (cellSlot != null)
{
Debug.Log(cellSlot.cell.X + ", " + cellSlot.cell.Y + ", " + (cellSlot.image == previousCell.slot.image));
// && !slot.useImageAsSlotHolder)
cellSlot.HideImage();
}
}
}
}
@ -629,6 +687,44 @@ namespace SimpleInventorySystem
}
}
}
else
{
if (PointerIsHoveredOver && Input.GetMouseButtonDown(2))
{
CreateStorageWindow();
}
}
}
public void CreateStorageWindow()
{
if(StorageWindow == null || !StorageWindow.gameObject.activeSelf)
{
Debug.Log("Opening Window");
StorageWindow = InventorySystem.instance.OpenWindow().GetComponent<StorageWindowUI>();
if(StorageWindow != null && containerUIPrefab != null && !Equipped)
{
Debug.Log("Opening Window");
if (container == null)
{
Debug.Log("Creating new");
container = Instantiate(containerUIPrefab, StorageWindow.StorageContainer.transform, false);
//itemUI.container.name = itemUI.container.name + " " + inCount;
container.SetActive(true);
StorageWindow.gameObject.SetActive(true);
StorageWindow.itemUI = this;
container.GetComponentInChildren<GridUI>().SetAssociatedItemUI(this);
}
else
{
if(container.transform.parent != StorageWindow.StorageContainer.transform)
container.transform.SetParent(StorageWindow.StorageContainer.transform, false);
container.SetActive(true);
StorageWindow.itemUI = this;
StorageWindow.gameObject.SetActive(true);
}
}
}
}
public void DropItemAway()

View File

@ -32,7 +32,8 @@ namespace SimpleInventorySystem
[HideInInspector] public List<GroupSlotUI> groupSlots;
[HideInInspector] public GridUI grid;
[HideInInspector] public GridUI.Cell cell;
[HideInInspector] public bool CellInUse;
[HideInInspector] public ChangeSlotTitle changeSlotTitle;
public bool CellInUse;
[HideInInspector] public float imageScale = 1f; // TODO: See if this is still necessary
[HideInInspector] public bool StackItemsOnSlot; // TODO: Figure out if this should be kept hidden
@ -46,7 +47,7 @@ namespace SimpleInventorySystem
{
return null;
}
Debug.Log("Peek: " + stackedItems.Peek().gameObject.name);
//Debug.Log("Peek: " + stackedItems.Peek().gameObject.name);
return stackedItems.Peek();
}
}
@ -165,11 +166,14 @@ namespace SimpleInventorySystem
}
}
Debug.Log(grid);
bool dropCheck = (grid != null && grid.CanMoveInCells(itemDrop, this, occupiedCells)) ||
(grid == null && !cell.inUse && (IgnoreItemSize || (cell.slot.width >= itemDrop.SizeAfterOrientation().Width && !cell.inUse && cell.slot.height >= itemDrop.SizeAfterOrientation().Height)));
Debug.Log("DropCheck" + (grid == null
&& !cell.inUse && (IgnoreItemSize || (cell.slot.width >= itemDrop.SizeAfterOrientation().Width && !cell.inUse && cell.slot.height >= itemDrop.SizeAfterOrientation().Height))));
Debug.Log("Drop Check: " + dropCheck);
//Debug.Log("DropCheck" + (grid == null && !cell.inUse && (IgnoreItemSize || (cell.slot.width >= itemDrop.SizeAfterOrientation().Width && !cell.inUse && cell.slot.height >= itemDrop.SizeAfterOrientation().Height))));
/*Debug.Log("GridUI: DropOntoSlot(): " + gameObject.name + ": " + "dropCheck: " + dropCheck);
Debug.Log("GridUI: DropOntoSlot(): " + gameObject.name + ": " + "allowed: " + allowed);*/
@ -178,7 +182,7 @@ namespace SimpleInventorySystem
{
if ((occupiedCells != null && occupiedCells.Count > 1) || StackItemsOnSlot)
{
//Debug.Log("SlotUI: " + occupiedCells.Count);
Debug.Log("SlotUI: " + occupiedCells.Count);
itemDrop.SetSlots(occupiedCells);
}
else
@ -197,7 +201,7 @@ namespace SimpleInventorySystem
item.GetComponent<RectTransform>().anchoredPosition = GetComponent<RectTransform>().anchoredPosition;
//item.GetComponent<RectTransform>().pivot = new Vector2(0, 1);
if(FitItemImageInSlotImage)
itemDrop.FitImageInSlot(image.GetComponent<RectTransform>().sizeDelta);
itemDrop.FitImageInSlot(new Vector2(Math.Abs(image.GetComponent<RectTransform>().sizeDelta.x), Math.Abs(image.GetComponent<RectTransform>().sizeDelta.y)));
itemDrop.SetSlot(this);
stackedItems.Push(itemDrop);
@ -263,6 +267,11 @@ namespace SimpleInventorySystem
BelongsToItemInSlot.GetItemUI().AddToContainedItems(itemUI);
}
if (changeSlotTitle != null)
{
changeSlotTitle.ChangeTitle(itemDrop.ItemTag);
}
if (HasSlotsBelongingToItem != null)
{
foreach (ItemUI i in itemUI.ContainedItems)
@ -301,7 +310,7 @@ namespace SimpleInventorySystem
void Awake()
{
if (image == null)
/*if (image == null)
{
Image[] images = GetComponentsInChildren<Image>(); // This will retrieve the first instance of an image in the FIRST child with the component
//Debug.Log(images.Length);
@ -319,7 +328,7 @@ namespace SimpleInventorySystem
image = images[0];
}
}
}
}*/
if (grid == null)
grid = GetComponentInParent<GridUI>();
@ -355,6 +364,11 @@ namespace SimpleInventorySystem
{
limitStackSlotManager = lssm;
}
if (TryGetComponent(out ChangeSlotTitle cst))
{
changeSlotTitle = cst;
}
}
private void SetRenderItemUIPropertyValue()
{
@ -443,6 +457,11 @@ namespace SimpleInventorySystem
limitStackSlotManager.UnsetStackSlotLimit();
}
if(changeSlotTitle != null)
{
changeSlotTitle.ResetTitle();
}
foreach (SlotUI linked in LinkedSlots)
{
linked.RemoveDragDropItem();
@ -572,7 +591,8 @@ namespace SimpleInventorySystem
{
if (image != null)
{
image.color = new Color(image.color.r, image.color.g, image.color.b, 0);
image.color = new Color(image.color.r, image.color.g, image.color.b, 0f);
//image.enabled = false;
//image.color = new Color(image.color.r, image.color.g, image.color.b, 1);
}
}

View File

@ -0,0 +1,27 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace SimpleInventorySystem
{
public class StorageWindowUI : MonoBehaviour
{
public GameObject StorageContainer;
[HideInInspector] public ItemUI itemUI;
public DragWindowUI dragWindowUI;
// Start is called before the first frame update
void Start()
{
if(dragWindowUI != null)
{
dragWindowUI.title.text = itemUI.itemName;
}
}
public void SetItem(ItemUI itemUI)
{
this.itemUI = itemUI;
}
}
}

View File

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

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 26f808e8ee3809c43867c1c1eb226124
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -120,6 +120,756 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 4429518671184306}
m_Modifications:
- target: {fileID: 333249596174248414, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 333249596174248414, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 333249596174248414, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 333249596174248414, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 333249596174248414, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 333249596174248414, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 419650546987141158, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 419650546987141158, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 419650546987141158, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 419650546987141158, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 419650546987141158, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 419650546987141158, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 470895034682168166, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 470895034682168166, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 470895034682168166, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 470895034682168166, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 470895034682168166, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 470895034682168166, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 858917431835262161, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 858917431835262161, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 858917431835262161, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 858917431835262161, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 858917431835262161, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 858917431835262161, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1710962269645054062, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1710962269645054062, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1710962269645054062, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1710962269645054062, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1710962269645054062, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1710962269645054062, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1819422600084158788, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1819422600084158788, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1819422600084158788, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1819422600084158788, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1819422600084158788, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1819422600084158788, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1841019403429086720, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1841019403429086720, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1841019403429086720, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1841019403429086720, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1841019403429086720, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1841019403429086720, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2034850370931394985, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2034850370931394985, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2034850370931394985, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2034850370931394985, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2034850370931394985, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2034850370931394985, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2211192002199946302, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2211192002199946302, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2211192002199946302, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2211192002199946302, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2211192002199946302, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2211192002199946302, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3102318131931018685, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3102318131931018685, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3102318131931018685, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3102318131931018685, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3102318131931018685, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3102318131931018685, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3355886090604492309, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3355886090604492309, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3355886090604492309, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3355886090604492309, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3355886090604492309, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3355886090604492309, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3666104412705833826, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3666104412705833826, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3666104412705833826, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3666104412705833826, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3666104412705833826, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3666104412705833826, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3942128976764262614, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3942128976764262614, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3942128976764262614, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3942128976764262614, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3942128976764262614, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3942128976764262614, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4216144369596589132, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4216144369596589132, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4216144369596589132, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4216144369596589132, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4216144369596589132, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4216144369596589132, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4717951056801496800, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4717951056801496800, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4717951056801496800, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4717951056801496800, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4717951056801496800, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4717951056801496800, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5142319776418103576, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5142319776418103576, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5142319776418103576, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5142319776418103576, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5142319776418103576, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5142319776418103576, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6024413249737522801, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6024413249737522801, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6024413249737522801, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6024413249737522801, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6024413249737522801, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6024413249737522801, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6183180188847503056, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6183180188847503056, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6183180188847503056, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6183180188847503056, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6183180188847503056, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6183180188847503056, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6494270105033073725, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6494270105033073725, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6494270105033073725, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6494270105033073725, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6494270105033073725, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6494270105033073725, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7708487715445538741, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7708487715445538741, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7708487715445538741, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7708487715445538741, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7708487715445538741, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7708487715445538741, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7966453146171447418, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7966453146171447418, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7966453146171447418, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7966453146171447418, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7966453146171447418, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7966453146171447418, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7999837126722321081, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7999837126722321081, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7999837126722321081, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7999837126722321081, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7999837126722321081, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7999837126722321081, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8004898444493053389, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8004898444493053389, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8004898444493053389, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8004898444493053389, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8004898444493053389, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8004898444493053389, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8119028983587579929, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8119028983587579929, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8119028983587579929, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8119028983587579929, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8119028983587579929, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8119028983587579929, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8340050235524021932, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8340050235524021932, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8340050235524021932, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8340050235524021932, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8340050235524021932, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8340050235524021932, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8715477175483360852, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_Name
@ -230,19 +980,154 @@ PrefabInstance:
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8715477175483360853, guid: 2a58c86d92d197047b24ceb399776b8e,
- target: {fileID: 8723597611453248602, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_LocalScale.x
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8715477175483360853, guid: 2a58c86d92d197047b24ceb399776b8e,
- target: {fileID: 8723597611453248602, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_LocalScale.y
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8715477175483360853, guid: 2a58c86d92d197047b24ceb399776b8e,
- target: {fileID: 8723597611453248602, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_LocalScale.z
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8723597611453248602, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8723597611453248602, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8723597611453248602, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8852606439388571523, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8852606439388571523, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8852606439388571523, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8852606439388571523, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8852606439388571523, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8852606439388571523, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8981214851257028147, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8981214851257028147, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8981214851257028147, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8981214851257028147, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8981214851257028147, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8981214851257028147, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9157869577475009156, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9157869577475009156, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9157869577475009156, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9157869577475009156, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9157869577475009156, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9157869577475009156, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9192004166139310050, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9192004166139310050, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9192004166139310050, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9192004166139310050, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9192004166139310050, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9192004166139310050, guid: 2a58c86d92d197047b24ceb399776b8e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 932332605b143de408257962fa7ff175
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: e1d498a019740714c8734af8f4a0194b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 34df9cfc25be6f547a48b9abf4422566
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b4313c97c87b0da42b32b9465a89e002
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 9b0c4bb5983488a438c06d5e35e09d2b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: f0b4fd9f8be79d34ba1fb5abecbb4aca
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 9bd692981c3b41e4e9c65dd7cdb03cb8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: d61d18c239646e24ea7563da992aedaf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -28,19 +28,30 @@ public class Display : MonoBehaviour
{
_textureDimensions = new Vector2(_display.GetComponent<RawImage>().texture.width,
_display.GetComponent<RawImage>().texture.height);
_originalRotation = _displayAnchor.GetChild(0).localRotation;
//_originalRotation = _displayAnchor.GetChild(0).localRotation;
}
// Update is called once per frame
void Update()
{
if(_displayAnchor == null && GameObject.FindGameObjectWithTag("Player") != null)
{
_displayAnchor = GameObject.FindGameObjectWithTag("Player").transform;
_camera = _displayAnchor.Find("RenderCamera").GetComponent<Camera>();
_textureDimensions = new Vector2(_display.GetComponent<RawImage>().texture.width,
_display.GetComponent<RawImage>().texture.height);
_originalRotation = _displayAnchor.GetChild(0).localRotation;
}
else
{
return;
}
Vector3 scaledSizeDelta = _display.sizeDelta * _canvas.scaleFactor;
Vector3 bottomLeftCorner = new Vector3(_display.position.x - (scaledSizeDelta.x / 2),
_display.position.y - (scaledSizeDelta.y / 2));
CastRay(_camera, bottomLeftCorner, scaledSizeDelta, _textureDimensions);
//CastRay(_camera, bottomLeftCorner, scaledSizeDelta, _textureDimensions);

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: c310a300a0358f94f81e0eeb585d6cf4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -9,7 +9,7 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: LiberationSans SDF Material
m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
m_ShaderKeywords: UNDERLAY_ON
m_ShaderKeywords:
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -25,13 +25,12 @@ Material:
m_Offset: {x: 0, y: 0}
m_Floats:
- _ColorMask: 15
- _CullMode: 0
- _FaceDilate: 0
- _GradientScale: 10
- _MaskSoftnessX: 0
- _MaskSoftnessY: 0
- _OutlineSoftness: 0
- _OutlineWidth: 0.02
- _OutlineWidth: 0
- _PerspectiveFilter: 0.875
- _ScaleRatioA: 0.9
- _ScaleRatioB: 1
@ -74,7 +73,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
hashCode: 231247347
material: {fileID: 2180264}
materialHashCode: 198912371
materialHashCode: -1183942120
m_Version: 1.1.0
m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75
m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75,
@ -4606,7 +4605,6 @@ MonoBehaviour:
m_AtlasTextures:
- {fileID: 28684132378477856}
m_AtlasTextureIndex: 0
m_IsMultiAtlasTexturesEnabled: 0
m_UsedGlyphRects:
- m_X: 0
m_Y: 0
@ -7800,8 +7798,6 @@ Texture2D:
m_TextureFormat: 1
m_MipCount: 1
m_IsReadable: 0
m_IgnoreMasterTextureLimit: 0
m_IsPreProcessed: 0
m_StreamingMipmaps: 0
m_StreamingMipmapsPriority: -92
m_AlphaIsTransparency: 0

View File

@ -14,6 +14,7 @@ TagManager:
- Store
- LockBase
- Fire
- RenderCamera
layers:
- Default
- TransparentFX
@ -42,7 +43,7 @@ TagManager:
- SmallDynamicObjects
- Effects
- AiVisibility
-
- RenderTextureTarget
-
-
-