Class: Table

Inherits:
Object show all
Defined in:
LiteRGSS.rb.yard.rb

Overview

Class that store a 3D array of value coded with 16bits (signed)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#dimInteger (readonly)

Returns Dimension of the table (1D, 2D, 3D).

Returns:

  • (Integer)

    Dimension of the table (1D, 2D, 3D)



1320
1321
1322
# File 'LiteRGSS.rb.yard.rb', line 1320

def dim
  @dim
end

#xsizeInteger (readonly)

Returns number of row in the table.

Returns:

  • (Integer)

    number of row in the table



1314
1315
1316
# File 'LiteRGSS.rb.yard.rb', line 1314

def xsize
  @xsize
end

#ysizeInteger (readonly)

Returns number of cols in the table.

Returns:

  • (Integer)

    number of cols in the table



1316
1317
1318
# File 'LiteRGSS.rb.yard.rb', line 1316

def ysize
  @ysize
end

#zsizeInteger (readonly)

Returns number of 2D table in the table.

Returns:

  • (Integer)

    number of 2D table in the table



1318
1319
1320
# File 'LiteRGSS.rb.yard.rb', line 1318

def zsize
  @zsize
end

Class Method Details

.new(xsize, ysize = 1, zsize = 1)

Note:

Never call initialize from the Ruby code other than using Table.new. It'll create memory if you call initialize from Ruby, use #resize instead.

Create a new table without pre-initialization of the contents

Parameters:

  • xsize (Integer)

    number of row

  • ysize (Integer) (defaults to: 1)

    number of cols

  • zsize (Integer) (defaults to: 1)

    number of 2D table



1281
1282
1283
# File 'LiteRGSS.rb.yard.rb', line 1281

def self.new(xsize, ysize = 1, zsize = 1)

end

Instance Method Details

#[](x, y = 0, z = 0) ⇒ Integer?

Access to a value of the table

Parameters:

  • x (Integer)

    index of the row

  • y (Integer) (defaults to: 0)

    index of the col

  • z (Integer) (defaults to: 0)

    index of the 2D table

Returns:

  • (Integer, nil)

    nil if x, y or z are outside of the table.



1289
1290
1291
# File 'LiteRGSS.rb.yard.rb', line 1289

def [](x, y = 0, z = 0)

end

#[]=(x, y, z, value)

Change a value in the table

Parameters:

  • x (Integer)

    row index of the cell to affect to the new value

  • y (Integer)

    col index of the cell to affect to the new value

  • z (Integer)

    index of the table containing the cell to affect to the new value

  • value (Integer)

    new value



1295
1296
1297
# File 'LiteRGSS.rb.yard.rb', line 1295

def []=(x, value)

end

#copy(table, dest_offset_x, dest_offset_y) ⇒ Boolean

Note:

If any parameter is invalid (eg. dest_offset_coord < 0) the function does nothing.

Copy another table to this table

Parameters:

  • table (Table)

    the other table

  • dest_offset_x (Integer)

    index of the row that will receive the first row of the other table

  • dest_offset_y (Integer)

    index of the col that will receive the first colum of the other table

Returns:

  • (Boolean)

    if the operation was done



1340
1341
1342
# File 'LiteRGSS.rb.yard.rb', line 1340

def copy(table, dest_offset_x, dest_offset_y)

end

#copy_modulo(table, source_origin_x, source_origin_y, dest_offset_x, dest_offset_y, width, height)

Copy another table to a specified surface of the current table using a circular copy (dest_coord = offset + source_coord % source_size)

Parameters:

  • table (Table)

    the other table

  • source_origin_x (Integer)

    index of the first row to copy in the current table

  • source_origin_y (Integer)

    index of the first col to copy in the current table

  • dest_offset_x (Integer)

    index of the row that will receive the first row of the other table

  • dest_offset_y (Integer)

    index of the col that will receive the first colum of the other table

  • width (Integer)

    width of the destination surface that receive the other table values

  • height (Integer)

    height of the destination surface that receive the other table values



1351
1352
1353
# File 'LiteRGSS.rb.yard.rb', line 1351

def copy_modulo(table, source_origin_x, source_origin_y, dest_offset_x, dest_offset_y, width, height)

end

#fill(value)

Fill the whole table with a specific value

Parameters:

  • value (Integer)

    the value to affect to every cell of the table



1331
1332
1333
# File 'LiteRGSS.rb.yard.rb', line 1331

def fill(value)

end

#resize(xsize, ysize = 1, zsize = 1)

Note:

Some value may be undeterminated if the new size is bigger than the old size

Resize the table

Parameters:

  • xsize (Integer)

    number of row

  • ysize (Integer) (defaults to: 1)

    number of cols

  • zsize (Integer) (defaults to: 1)

    number of 2D table



1326
1327
1328
# File 'LiteRGSS.rb.yard.rb', line 1326

def resize(xsize, ysize = 1, zsize = 1)

end