init
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user