1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-10 13:00:37 +00:00

-Massive clean up to gizmos

-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
This commit is contained in:
Juan Linietsky
2017-08-26 00:40:45 -03:00
parent d9e94fa0c3
commit 1894157c9f
31 changed files with 498 additions and 1732 deletions

View File

@@ -120,7 +120,7 @@ class GridMap : public Spatial {
int16_t x;
int16_t y;
int16_t z;
int16_t area;
int16_t empty;
};
uint64_t key;
@@ -148,35 +148,10 @@ class GridMap : public Spatial {
int clip_floor;
Vector3::Axis clip_axis;
/**
* @brief An Area is something like a room: it has doors, and Octants can choose to belong to it.
*/
struct Area {
String name;
RID base_portal;
RID instance;
IndexKey from;
IndexKey to;
struct Portal {
Transform xform;
RID instance;
~Portal();
};
Vector<Portal> portals;
float portal_disable_distance;
Color portal_disable_color;
bool exterior_portal;
Area();
~Area();
};
Ref<MeshLibrary> theme;
Map<OctantKey, Octant *> octant_map;
Map<IndexKey, Cell> cell_map;
Map<int, Area *> area_map;
void _recreate_octant_data();
@@ -188,8 +163,6 @@ class GridMap : public Spatial {
float param[VS::LIGHT_PARAM_MAX];
};
_FORCE_INLINE_ int _find_area(const IndexKey &p_pos) const;
_FORCE_INLINE_ Vector3 _octant_get_offset(const OctantKey &p_key) const {
return Vector3(p_key.x, p_key.y, p_key.z) * cell_size * octant_size;
@@ -208,10 +181,7 @@ class GridMap : public Spatial {
void resource_changed(const RES &p_res);
void _update_areas();
void _update_area_instances();
void _clear_internal(bool p_keep_areas = false);
void _clear_internal();
protected:
bool _set(const StringName &p_name, const Variant &p_value);
@@ -248,20 +218,6 @@ public:
void set_clip(bool p_enabled, bool p_clip_above = true, int p_floor = 0, Vector3::Axis p_axis = Vector3::AXIS_X);
Error create_area(int p_id, const Rect3 &p_area);
Rect3 area_get_bounds(int p_area) const;
void area_set_exterior_portal(int p_area, bool p_enable);
void area_set_name(int p_area, const String &p_name);
String area_get_name(int p_area) const;
bool area_is_exterior_portal(int p_area) const;
void area_set_portal_disable_distance(int p_area, float p_distance);
float area_get_portal_disable_distance(int p_area) const;
void area_set_portal_disable_color(int p_area, Color p_color);
Color area_get_portal_disable_color(int p_area) const;
void get_area_list(List<int> *p_areas) const;
void erase_area(int p_area);
int get_unused_area_id() const;
void set_cell_scale(float p_scale);
float get_cell_scale() const;