I don’t believe you have access to that property inside your object class. I think the solution here would be to pass a reference to the outer class/object into your change method:
class Fsm:
var state = EState.IDLE
var substate = EState.IDLE
func _init():
print("fsm controllable")
func change(newState, obj):
state = newState
match state:
EState.MOVE:
print("FSM: move")
obj._is_moving = false
EState.IDLE:
print("FSM: idle")
then in your outer class, you can do:
var _is_moving = false
var fsm = Fsm.new()
func _ready():
fsm.change(EState.MOVE, self)