Added GameObject Validators

This commit is contained in:
Anders Ejlersen 2026-05-18 21:59:59 +02:00
parent c8a6815316
commit 269789b36f
15 changed files with 160 additions and 13 deletions

View file

@ -0,0 +1,15 @@
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace Module.ProjectValidator.Editor
{
internal sealed class GameObjectValidatorBrokenPrefab : IGameObjectValidator
{
public void Validate(GameObject gameObject, List<ValidatorResult> results)
{
if (PrefabUtility.IsPrefabAssetMissing(gameObject))
results.Add(ValidatorResult.Create(EValidatorSeverity.Error, "GameObject is missing prefab asset"));
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8fd1dfcd3d564622a918e2175499318d
timeCreated: 1779133864

View file

@ -0,0 +1,17 @@
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace Module.ProjectValidator.Editor
{
internal sealed class GameObjectValidatorMissingComponents : IGameObjectValidator
{
public void Validate(GameObject gameObject, List<ValidatorResult> results)
{
var count = GameObjectUtility.GetMonoBehavioursWithMissingScriptCount(gameObject);
if (count != 0)
results.Add(ValidatorResult.Create(EValidatorSeverity.Error, $"GameObject is missing {count} component(s)"));
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 66cbc43729ec4e81a9e353e537b3ccf0
timeCreated: 1779133947