Grid: add apply_threshold and apply_ranges for HeightMap (closes #199)
Add methods to apply HeightMap data to Grid walkable/transparent properties: - apply_threshold(source, range, walkable, transparent): Apply properties to cells where HeightMap value is in the specified range - apply_ranges(source, ranges): Apply multiple threshold rules in one pass Features: - Size mismatch between HeightMap and Grid raises ValueError - Both methods return self for chaining - Uses dynamic type lookup via module for HeightMap type checking - First matching range wins in apply_ranges - Cells not matching any range remain unchanged - TCOD map is synced after changes for FOV/pathfinding Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
8d6d564d6b
commit
bf8557798a
3 changed files with 596 additions and 0 deletions
|
|
@ -179,6 +179,10 @@ public:
|
|||
static PyObject* py_entities_in_radius(PyUIGridObject* self, PyObject* args, PyObject* kwds); // #115
|
||||
static PyObject* py_center_camera(PyUIGridObject* self, PyObject* args); // #169
|
||||
|
||||
// #199 - HeightMap application methods
|
||||
static PyObject* py_apply_threshold(PyUIGridObject* self, PyObject* args, PyObject* kwds);
|
||||
static PyObject* py_apply_ranges(PyUIGridObject* self, PyObject* args);
|
||||
|
||||
// #169 - Camera positioning
|
||||
void center_camera(); // Center on grid's middle tile
|
||||
void center_camera(float tile_x, float tile_y); // Center on specific tile
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue