1
1
import { Item } from './item' ;
2
2
import { Subject } from 'rxjs' ;
3
3
import { cache , world } from '@server/game-server' ;
4
+ import { hasValueNotNull } from '@server/util/data' ;
4
5
5
6
export interface ContainerUpdateEvent {
6
7
slot ?: number ;
@@ -43,7 +44,7 @@ export class ItemContainer {
43
44
if ( stackable ) {
44
45
const index = this . findIndex ( search ) ;
45
46
46
- if ( ! index || index === - 1 ) {
47
+ if ( ! hasValueNotNull ( index ) || index === - 1 ) {
47
48
return [ ] ;
48
49
} else {
49
50
return [ index ] ;
@@ -204,7 +205,7 @@ export class ItemContainer {
204
205
}
205
206
206
207
public getFirstOpenSlot ( ) : number {
207
- return this . _items . findIndex ( item => ! item ) ;
208
+ return this . _items . findIndex ( item => ! hasValueNotNull ( item ) ) ;
208
209
}
209
210
210
211
public hasSpace ( ) : boolean {
@@ -214,7 +215,7 @@ export class ItemContainer {
214
215
public getOpenSlotCount ( ) : number {
215
216
let count = 0 ;
216
217
for ( let i = 0 ; i < this . _size ; i ++ ) {
217
- if ( ! this . _items [ i ] ) {
218
+ if ( ! hasValueNotNull ( this . _items [ i ] ) ) {
218
219
count ++ ;
219
220
}
220
221
}
@@ -226,7 +227,7 @@ export class ItemContainer {
226
227
const slots : number [ ] = [ ] ;
227
228
228
229
for ( let i = 0 ; i < this . _size ; i ++ ) {
229
- if ( ! this . _items [ i ] ) {
230
+ if ( ! hasValueNotNull ( this . _items [ i ] ) ) {
230
231
slots . push ( i ) ;
231
232
}
232
233
}
@@ -246,12 +247,12 @@ export class ItemContainer {
246
247
let weight = 0 ;
247
248
248
249
for ( const item of this . _items ) {
249
- if ( ! item ) {
250
+ if ( ! hasValueNotNull ( item ) ) {
250
251
continue ;
251
252
}
252
253
253
254
const itemData = world . itemData . get ( item . itemId ) ;
254
- if ( ! itemData || itemData . weight === undefined ) {
255
+ if ( ! ! hasValueNotNull ( itemData ) || itemData . weight === undefined ) {
255
256
continue ;
256
257
}
257
258
0 commit comments