private void Update(ref PlayerRaycastTargetTemplate template) { if (template.Graph.CurrentTag == GraphNodeTags.Action) { template.Target.Set(PlayerInputSystem.GetMouseRaycastPosition(template.Raycast.Range)); } }
public void Trigger(ActionEvent ae, string eventName) { var origin = ae.Origin; Vector3 originPos; Vector3 target; if (origin.Tags.Contain(EntityTags.Player)) { originPos = PlayerInputSystem.GetLookTargetRay.origin; target = PlayerInputSystem.GetMouseRaycastPosition(ae.Action.Config.Range); } else { originPos = ae.Position; target = ae.Origin.Target.GetPosition; } var actionEntity = ae.Action.Entity; var ray = new Ray(originPos, (target - originPos).normalized); if (CollisionCheckSystem.Raycast(actionEntity, ray, RayDistance, LimitToEnemy) == null && RaySize > 0.01f) { CollisionCheckSystem.SphereCast(actionEntity, ray, RayDistance, RaySize, LimitToEnemy); } }