init
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
using JetBrains.Annotations;
|
||||
using UnityEngine;
|
||||
using VOID.Generic.Objects.Abstract;
|
||||
using VOID.Generic.Objects.Unit;
|
||||
|
||||
namespace VOID.Generic.Projectile.TargetValidator
|
||||
{
|
||||
public interface IProjectileTargetValidator
|
||||
{
|
||||
public bool IsValid(UnitObject caster, Vector3 targetPosition, [CanBeNull] AbstractObject targetObject);
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f5995c2ee1ec41f0b43069e5d8fd5bb5
|
||||
timeCreated: 1731080877
|
||||
@@ -0,0 +1,17 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using VOID.Generic.Objects.Abstract;
|
||||
using VOID.Generic.Objects.Item;
|
||||
using VOID.Generic.Objects.Unit;
|
||||
|
||||
namespace VOID.Generic.Projectile.TargetValidator
|
||||
{
|
||||
[TypeRegistryItem("Item")]
|
||||
public class ProjectileTargetItem : IProjectileTargetValidator
|
||||
{
|
||||
public bool IsValid(UnitObject caster, Vector3 targetPosition, AbstractObject targetObject)
|
||||
{
|
||||
return targetObject is ItemObject;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 50f8b528d89f4254b041adf5f3400e13
|
||||
timeCreated: 1731099384
|
||||
@@ -0,0 +1,16 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using VOID.Generic.Objects.Abstract;
|
||||
using VOID.Generic.Objects.Unit;
|
||||
|
||||
namespace VOID.Generic.Projectile.TargetValidator
|
||||
{
|
||||
[TypeRegistryItem("Other")]
|
||||
public class ProjectileTargetOther : IProjectileTargetValidator
|
||||
{
|
||||
public bool IsValid(UnitObject caster, Vector3 targetPosition, AbstractObject targetObject)
|
||||
{
|
||||
return caster != targetObject;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa20fa37f9ea4484ac5181068fc23e03
|
||||
timeCreated: 1731089158
|
||||
@@ -0,0 +1,16 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using VOID.Generic.Objects.Abstract;
|
||||
using VOID.Generic.Objects.Unit;
|
||||
|
||||
namespace VOID.Generic.Projectile.TargetValidator
|
||||
{
|
||||
[TypeRegistryItem("Self")]
|
||||
public class ProjectileTargetSelf : IProjectileTargetValidator
|
||||
{
|
||||
public bool IsValid(UnitObject caster, Vector3 targetPosition, AbstractObject targetObject)
|
||||
{
|
||||
return caster == targetObject;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2aac834351ab47d793aa3647a5b3e4ee
|
||||
timeCreated: 1731099384
|
||||
@@ -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.TargetValidator
|
||||
{
|
||||
[TypeRegistryItem("Unit")]
|
||||
public class ProjectileTargetUnit : IProjectileTargetValidator
|
||||
{
|
||||
[SerializeField] private List<AttitudeType> _attitudes = new();
|
||||
|
||||
public bool IsValid(UnitObject caster, Vector3 targetPosition, AbstractObject targetObject)
|
||||
{
|
||||
if (targetObject 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,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 443176e8033443c6b192c4d873ed81b1
|
||||
timeCreated: 1731099384
|
||||
@@ -0,0 +1,16 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using VOID.Generic.Objects.Abstract;
|
||||
using VOID.Generic.Objects.Unit;
|
||||
|
||||
namespace VOID.Generic.Projectile.TargetValidator
|
||||
{
|
||||
[TypeRegistryItem("Walkable")]
|
||||
public class ProjectileTargetWalkable : IProjectileTargetValidator
|
||||
{
|
||||
public bool IsValid(UnitObject caster, Vector3 targetPosition, AbstractObject targetObject)
|
||||
{
|
||||
return caster.unitNavAgent.IsValidGround(targetPosition);
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 208d383dab1d4481a6a5e487d9aa3c13
|
||||
timeCreated: 1731099524
|
||||
Reference in New Issue
Block a user