Add utils to get biz/nearest biz with item type

This commit is contained in:
Vortrex
2022-05-08 06:48:19 -05:00
parent 092545331f
commit f43457e1e1

View File

@@ -2743,4 +2743,47 @@ function getBusinessFromInteriorAndDimension(dimension, interior) {
return -1;
}
// ===========================================================================
function getClosestBusinessWithBuyableItemOfUseType(position, useType) {
let availableBusinesses = getBusinessesWithBuyableItemOfUseType(useType);
let closestBusiness = 0;
for(let i in availableBusinesses) {
if(getDistance(position, getBusinessData(availableBusinesses[i]).entrancePosition) < getDistance(position, getBusinessData(availableBusinesses[closestBusiness]).entrancePosition)) {
closestBusiness = i;
}
}
return availableBusinesses[closestBusiness];
}
// ===========================================================================
function getBusinessesWithBuyableItemOfUseType(useType) {
let businesses = getServerData().businesses;
for(let i in businesses) {
if(doesBusinessHaveBuyableItemOfUseType(i, useType)) {
availableBusinesses.push(i);
}
}
return availableBusinesses;
}
// ===========================================================================
function doesBusinessHaveBuyableItemOfUseType(businessId, useType) {
let floorItems = getBusinessData(businessId).floorItemCache;
for(let i in floorItems) {
if(floorItems[i] != -1) {
if(getItemData(floorItems[i]) != false) {
if(getItemTypeData(getItemData(floorItems[i])).useType == useType) {
return true;
}
}
}
}
return false;
}
// ===========================================================================