// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. using System; namespace Flax.Build.Bindings { /// /// The native file information for bindings generator. /// public class FileInfo : ApiTypeInfo, IComparable, IComparable { public override void AddChild(ApiTypeInfo apiTypeInfo) { if (apiTypeInfo.Namespace == null) apiTypeInfo.Namespace = Namespace; base.AddChild(apiTypeInfo); } public override void Init(Builder.BuildData buildData) { try { base.Init(buildData); } catch (Exception) { Log.Error($"Failed to init '{Name}' file scripting API."); throw; } } public int CompareTo(FileInfo other) { return Name.CompareTo(other.Name); } public override string ToString() { return System.IO.Path.GetFileName(Name); } public int CompareTo(object obj) { if (obj is ApiTypeInfo apiTypeInfo) return Name.CompareTo(apiTypeInfo.Name); return 0; } } }