25 lines
No EOL
817 B
C#
25 lines
No EOL
817 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Reflection;
|
|
using UnityEngine;
|
|
using UnityEngine.Pool;
|
|
|
|
namespace Module.ProjectValidator.Editor
|
|
{
|
|
internal sealed class GameObjectValidatorObsoleteComponents : IGameObjectValidator
|
|
{
|
|
public void Validate(GameObject gameObject, List<ValidatorResult> results)
|
|
{
|
|
using var _ = ListPool<Component>.Get(out var list);
|
|
gameObject.GetComponents(list);
|
|
|
|
for (var i = 0; i < list.Count; i++)
|
|
{
|
|
var type = list[i].GetType();
|
|
|
|
if (type.GetCustomAttribute(typeof(ObsoleteAttribute)) != null)
|
|
results.Add(ValidatorResult.Create(EValidatorSeverity.Warning, $"GameObject has obsolete '{type.Name}' component"));
|
|
}
|
|
}
|
|
}
|
|
} |