// Copyright (c) 2024 Synty Studios Limited. All rights reserved.
//
// Use of this software is subject to the terms and conditions of the Synty Studios End User Licence Agreement (EULA)
// available at: https://syntystore.com/pages/end-user-licence-agreement
//
// For additional details, see the LICENSE.MD file bundled with this software.
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Synty.SidekickCharacters.SkinnedMesh
{
///
/// Wrapper class to hold information about a given blendshape.
///
public class BlendShapeData
{
public string blendShapeFrameName = "";
public int blendShapeFrameIndex = -1;
public float blendShapeCurrentValue = 0.0f;
public List startDeltaVertices = new List();
public List startDeltaNormals = new List();
public List startDeltaTangents = new List();
public List finalDeltaVertices = new List();
public List finalDeltaNormals = new List();
public List finalDeltaTangents = new List();
public string blendShapeNameOnCombinedMesh = "";
protected bool Equals(BlendShapeData other)
{
return blendShapeFrameName.Equals(other.blendShapeFrameName, StringComparison.OrdinalIgnoreCase);
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj))
{
return false;
}
if (ReferenceEquals(this, obj))
{
return true;
}
if (obj.GetType() != this.GetType())
{
return false;
}
return Equals((BlendShapeData) obj);
}
public override int GetHashCode()
{
return (blendShapeFrameName != null ? blendShapeFrameName.GetHashCode() : 0);
}
}
}