private void ReservationHandler(ref MyAiTargetManager.ReservedEntityData reservedEntity, bool success) { if (Bot == null || Bot.HumanoidLogic == null || Bot.Player == null || Bot.Player.Id.SerialId != reservedEntity.ReserverId.SerialId) return; var logic = Bot.HumanoidLogic; logic.ReservationStatus = Logic.MyReservationStatus.FAILURE; if (!success) return; if (reservedEntity.EntityId != logic.ReservationEntityData.EntityId) return; if (reservedEntity.Type == MyReservedEntityType.ENVIRONMENT_ITEM && reservedEntity.LocalId != logic.ReservationEntityData.LocalId) return; if (reservedEntity.Type == MyReservedEntityType.VOXEL && reservedEntity.GridPos != logic.ReservationEntityData.GridPos) return; logic.ReservationStatus = Logic.MyReservationStatus.SUCCESS; }
private void AreaReservationHandler(ref MyAiTargetManager.ReservedAreaData reservedArea, bool success) { if (Bot == null || Bot.HumanoidLogic == null || Bot.Player == null || Bot.Player.Id.SerialId != reservedArea.ReserverId.SerialId) return; var logic = Bot.HumanoidLogic; logic.ReservationStatus = Logic.MyReservationStatus.FAILURE; if (!success) return; if (reservedArea.WorldPosition == logic.ReservationAreaData.WorldPosition && reservedArea.Radius == logic.ReservationAreaData.Radius) logic.ReservationStatus = Logic.MyReservationStatus.SUCCESS; }