Refactor
This commit is contained in:
+12
-15
@@ -3,7 +3,6 @@ package ion
|
||||
import b2 "vendor:box2d"
|
||||
import im "shared:odin-imgui"
|
||||
import "core:slice"
|
||||
import "core:container/small_array"
|
||||
import "core:fmt"
|
||||
|
||||
|
||||
@@ -174,8 +173,8 @@ interface_shape_def_editor :: proc(def: ^engine_entity_def) -> bool
|
||||
|
||||
im.SliderFloat("Density", &def.shape_def.density, 0, 100)
|
||||
|
||||
if im.Button("Flip horizontally") do flip_points(small_array.slice(&def.vertices), .Horizontal)
|
||||
if im.Button("Flip Vertically ") do flip_points(small_array.slice(&def.vertices), .Vertical)
|
||||
if im.Button("Flip horizontally") do flip_points(def.vertices[:], .Horizontal)
|
||||
if im.Button("Flip Vertically ") do flip_points(def.vertices[:], .Vertical)
|
||||
|
||||
if im.TreeNode("Events and contacts") {
|
||||
im.Checkbox("Is sensor", &def.shape_def.isSensor)
|
||||
@@ -217,7 +216,7 @@ interface_shape_def_editor :: proc(def: ^engine_entity_def) -> bool
|
||||
|
||||
interface_entity :: proc(interface: ^interface_state) -> bool
|
||||
{
|
||||
entity_selected := interface.selected_entity^ != -1
|
||||
entity_selected := (interface.selected_entity^ != -1) && len(interface.entity_defs) > 0
|
||||
|
||||
if entity_selected
|
||||
{
|
||||
@@ -226,7 +225,7 @@ interface_entity :: proc(interface: ^interface_state) -> bool
|
||||
|
||||
ret := false
|
||||
|
||||
interface.edit_mode = .ENTITY
|
||||
//interface.edit_mode = .ENTITY
|
||||
//Flags
|
||||
for flag in engine_entity_flags_enum
|
||||
{
|
||||
@@ -234,14 +233,6 @@ interface_entity :: proc(interface: ^interface_state) -> bool
|
||||
if im.Checkbox(fmt.ctprint(flag), &contains) do def.entity_flags ~= {flag}
|
||||
}
|
||||
|
||||
if .CHAIN in def.entity_flags
|
||||
{
|
||||
|
||||
im.InputInt("Body Count", &def.body_count, 1)
|
||||
im.SliderFloat("Half Link Length", &def.half_link_length, 1, 10)
|
||||
|
||||
}
|
||||
|
||||
im.Separator()
|
||||
|
||||
if im.CollapsingHeader("Shape Edit")
|
||||
@@ -263,10 +254,16 @@ interface_entity :: proc(interface: ^interface_state) -> bool
|
||||
|
||||
if .CHAIN in def.entity_flags
|
||||
{
|
||||
interface_edit_rev_joint_minimal(&def.rev_joint)
|
||||
im.InputInt("Body Count", &def.body_count)
|
||||
//im.SliderFloat2("Half Link Length", &def.link_length, -10, 10)
|
||||
|
||||
if im.CollapsingHeader("Chain joint def")
|
||||
{
|
||||
interface_edit_rev_joint_minimal(&def.rev_joint)
|
||||
}
|
||||
}
|
||||
|
||||
return def^ != def_old || ret
|
||||
return !compare_engine_entity_def(def^, def_old) || ret
|
||||
}
|
||||
|
||||
return false
|
||||
|
||||
Reference in New Issue
Block a user