Add utils to get biz/nearest biz with item type
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
Reference in New Issue
Block a user