Huge refactor, Adding more code to engine from the game
This commit is contained in:
+30
-6
@@ -1,7 +1,6 @@
|
||||
package ion
|
||||
import "core:slice"
|
||||
import "core:fmt"
|
||||
package edit2d
|
||||
import im "shared:odin-imgui"
|
||||
import "core:fmt"
|
||||
import b2 "vendor:box2d"
|
||||
|
||||
/*
|
||||
@@ -23,11 +22,11 @@ EditMode :: enum
|
||||
JOINT,
|
||||
}
|
||||
|
||||
interface_state :: struct
|
||||
interface_state :: struct
|
||||
{
|
||||
entity_defs : [dynamic]^engine_entity_def,
|
||||
entities : [dynamic]^engine_entity,
|
||||
selected_entity : ^i32,
|
||||
selected_entity : i32,
|
||||
world : ^engine_world,
|
||||
state : ^engine_state,
|
||||
|
||||
@@ -42,6 +41,15 @@ interface_state :: struct
|
||||
curr_static_index : static_index_global,
|
||||
}
|
||||
|
||||
interface_get_default :: proc(interface: ^interface_state)
|
||||
{
|
||||
interface.selected_entity = 0
|
||||
interface.vertex_index = new(i32)
|
||||
interface.vertex_index^ = 0
|
||||
interface.chain_index = new(i32)
|
||||
interface.chain_index^ = 0
|
||||
}
|
||||
|
||||
interface_draw_options :: proc(state: ^engine_state) {
|
||||
debug_draw := &state.draw.debug_draw
|
||||
|
||||
@@ -66,6 +74,23 @@ interface_draw_options :: proc(state: ^engine_state) {
|
||||
interface_all :: proc(interface: ^interface_state) -> bool
|
||||
{
|
||||
ret := false
|
||||
if interface.selected_entity <0
|
||||
{
|
||||
interface.selected_entity = 0
|
||||
}
|
||||
|
||||
if im.Begin("Edit Mode", nil)
|
||||
{
|
||||
for type in EditMode
|
||||
{
|
||||
if im.RadioButton(fmt.ctprint(type), interface.edit_mode == type)
|
||||
{
|
||||
interface.edit_mode = type
|
||||
}
|
||||
}
|
||||
}
|
||||
im.End()
|
||||
|
||||
if im.Begin("Box2d interface")
|
||||
{
|
||||
if im.BeginTabBar("Tabs")
|
||||
@@ -77,7 +102,6 @@ interface_all :: proc(interface: ^interface_state) -> bool
|
||||
im.EndTabItem()
|
||||
}
|
||||
|
||||
|
||||
if im.BeginTabItem("Joints", nil, {})
|
||||
{
|
||||
if interface_joints(interface) do ret = true
|
||||
|
||||
Reference in New Issue
Block a user