2D-Platformer/Assets/Scripts/Events/ItemDragEvent.cs
2022-02-12 12:53:50 +02:00

37 lines
No EOL
891 B
C#

using DefaultNamespace;
using System;
using Unity.Entities;
using UnityEngine;
namespace Events
{
public struct ItemDragEvent : ISharedComponentData, IEquatable<ItemDragEvent>
{
public AsyncOperationWrapper<ItemPrefab> ItemPrefab;
public ItemData Item;
public int Slot;
public Vector2 ScreenPos;
public bool Equals(ItemDragEvent other)
{
return ItemPrefab.Equals(other.ItemPrefab) && Item.Equals(other.Item) && Slot == other.Slot && ScreenPos.Equals(other.ScreenPos);
}
public override bool Equals(object obj)
{
return obj is ItemDragEvent other && Equals(other);
}
public override int GetHashCode()
{
unchecked
{
var hashCode = ItemPrefab.GetHashCode();
hashCode = (hashCode * 397) ^ Item.GetHashCode();
hashCode = (hashCode * 397) ^ Slot;
hashCode = (hashCode * 397) ^ ScreenPos.GetHashCode();
return hashCode;
}
}
}
}