This commit is contained in:
2026-07-09 21:33:33 +02:00
commit 84a2a365f3
2364 changed files with 950134 additions and 0 deletions
@@ -0,0 +1,10 @@
using VOID.Generic.Objects.Abstract;
using VOID.Generic.Objects.Unit;
namespace VOID.Generic.Projectile.HitValidator
{
public interface IProjectileHitValidator
{
public bool IsValid(UnitObject caster, AbstractObject target);
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 923e7c5bc9bd414297e822c7c46ad8b0
@@ -0,0 +1,16 @@
using Sirenix.OdinInspector;
using VOID.Generic.Objects.Abstract;
using VOID.Generic.Objects.Item;
using VOID.Generic.Objects.Unit;
namespace VOID.Generic.Projectile.HitValidator
{
[TypeRegistryItem("Item")]
public class ProjectileHitItem : IProjectileHitValidator
{
public bool IsValid(UnitObject caster, AbstractObject target)
{
return target is ItemObject;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 164b8f6c007ed544da396cd6a9874d65
@@ -0,0 +1,15 @@
using Sirenix.OdinInspector;
using VOID.Generic.Objects.Abstract;
using VOID.Generic.Objects.Unit;
namespace VOID.Generic.Projectile.HitValidator
{
[TypeRegistryItem("Other")]
public class ProjectileHitOther : IProjectileHitValidator
{
public bool IsValid(UnitObject caster, AbstractObject target)
{
return caster != target;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b11ba2fe64fb42e794811cf45a8e03ec
@@ -0,0 +1,15 @@
using Sirenix.OdinInspector;
using VOID.Generic.Objects.Abstract;
using VOID.Generic.Objects.Unit;
namespace VOID.Generic.Projectile.HitValidator
{
[TypeRegistryItem("Self")]
public class ProjectileHitSelf : IProjectileHitValidator
{
public bool IsValid(UnitObject caster, AbstractObject target)
{
return caster == target;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: aa232c3837fa4f23afe8df94a0e3db7b
@@ -0,0 +1,24 @@
using System.Collections.Generic;
using Sirenix.OdinInspector;
using Sirenix.Utilities;
using UnityEngine;
using VOID.Generic.Dict;
using VOID.Generic.Objects.Abstract;
using VOID.Generic.Objects.Unit;
namespace VOID.Generic.Projectile.HitValidator
{
[TypeRegistryItem("Unit")]
public class ProjectileHitUnit : IProjectileHitValidator
{
[SerializeField] private List<AttitudeType> _attitudes = new();
public bool IsValid(UnitObject caster, AbstractObject target)
{
if (target is not UnitObject targetUnit) return false;
if (_attitudes.IsNullOrEmpty()) return true;
if (_attitudes.Contains(caster.unitAttitude.GetAttitudeWith(targetUnit))) return true;
return false;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b1c051c72ef24497a5206391bd86e57c