func (a *ArchetypeInstance) SetQML(obj qml.Object) { a.QObject = obj obj.Set("simpleName", a.SimpleName) obj.Set("name", w.Archetypes[a.SimpleName].Name) qmlMoveUpdate(obj, float32(a.TP.X), float32(a.TP.Y), a.SimpleName, kinglib.MOVE_INSTANT, 0) }
func (e *Entity) SetQML(obj qml.Object) { e.QObject = obj obj.Set("simpleName", e.SimpleName) obj.Set("name", w.Archetypes[e.SimpleName].Name) obj.Set("entityID", e.EntityID) qmlMoveUpdate(obj, e.FloatX, e.FloatY, e.SimpleName, kinglib.MOVE_INSTANT, 0) e.UpdateVisibility() }
func qmlMoveUpdate(obj qml.Object, x, y float32, simple_name string, move_type int, move_time int) { // Not good for now: obj.Set("simpleName", simple_name) switch move_type { case kinglib.MOVE_WALK: // fmt.Printf("Setting move_walk\n") obj.Set("dsx", int(x*32.0)) obj.Set("dsy", int(y*32.0)) obj.Set("dtime", move_time) obj.Set("moving", false) obj.Set("moving", true) default: obj.Set("x", int(x*32.0)) obj.Set("y", int(y*32.0)) } z := GetArchetypeZ(simple_name, int(y), int(x)) obj.Set("z", z) obj.Set("tx", x) obj.Set("ty", y) }