41 lines
1,021 B
C#
41 lines
1,021 B
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace KitsuneCafe.Scripting
|
|
{
|
|
[Serializable]
|
|
public class BindingPath
|
|
{
|
|
[SerializeField]
|
|
private string module;
|
|
public string Module => module;
|
|
|
|
[SerializeField]
|
|
private string entity;
|
|
public string Entity => entity;
|
|
|
|
public static implicit operator (string, string)(BindingPath path) => (path.Module, path.Entity);
|
|
public static implicit operator BindingPath((string, string) path) => new BindingPath(path.Item1, path.Item2);
|
|
|
|
public BindingPath(string module, string entity)
|
|
{
|
|
this.module = module;
|
|
this.entity = entity;
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
return base.Equals(obj);
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return HashCode.Combine(module, entity);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{module}:{entity}";
|
|
}
|
|
}
|
|
}
|