2D-Platformer/Assets/Scripts/Data/Weapon/WeaponPartsData.cs
2022-02-12 12:53:50 +02:00

34 lines
No EOL
850 B
C#

using System;
using Unity.Entities;
using UnityEngine;
namespace DefaultNamespace
{
public struct WeaponPartsData : ISharedComponentData, IEquatable<WeaponPartsData>
{
public Transform Barrel;
public Transform ShellsExit;
public AudioSource Audio;
public bool Equals(WeaponPartsData other)
{
return Equals(Barrel, other.Barrel) && Equals(ShellsExit, other.ShellsExit) && Equals(Audio, other.Audio);
}
public override bool Equals(object obj)
{
return obj is WeaponPartsData other && Equals(other);
}
public override int GetHashCode()
{
unchecked
{
var hashCode = Barrel != null ? Barrel.GetHashCode() : 0;
hashCode = (hashCode * 397) ^ (ShellsExit != null ? ShellsExit.GetHashCode() : 0);
hashCode = (hashCode * 397) ^ (Audio != null ? Audio.GetHashCode() : 0);
return hashCode;
}
}
}
}