FiniteStateMachine

FiniteStateMachine

유한 상태 머신 객체에요. 유한 상태 머신을 생성한 후 Object:SetFiniteStateMachine 로 해당 유한 상태머신을 사용 할 오브젝트에 부착하면, 오브젝트에 해당 유한 상태 머신이 부착 돼요.

이벤트

OnUpdate

해당 FSM이 활성화 중일 때 매프레임마다 호출되는 이벤트에요. 연결함수 형식은 function(FiniteStateMachine, updateTime), FiniteStateMachine 은 활성화 중인 FSM 오브젝트 , updateTime 은 number 입니다.

-- 샘플 --

--상태와 별개로 동작하는 UpdateEvent (최상위 개념)
local function UpdateFSM(fsm, updateTime)
    print("UpdateFSM")
end
FSM.OnUpdate:Connect(UpdateFSM)

속성

StartFiniteState

FSM이 활성화 될 때 시작 State를 설정할 수 있어요.

-- 샘플 --

FSM.StartFiniteState = "Idle"

CurrentFiniteState

현재 활성화 되고 있는 State입니다.

-- 샘플 --

print(FSM.CurrentFiniteState)

함수

void AddTransition(string FromState, string ToState, function Condition, number Priority)

FSM 상태 전이를 추가해요. (시작 상태 이름, 전이할 상태 이름, 연결 함수, 우선순위 (0에 가까울수록 높다.) )

-- 샘플 --

local function ToMoveConditionFunction(fsm)
    if someCondition then
        return true
    else
        return false
    end
end
FSM:AddTransition("Idle", "Move", ToMoveCondition, 0)

사용 가능한 부모 오브젝트 기능들

속성

이름

설명

부모 객체를 얻을 수 있어요.

객체의 이름입니다.

이벤트

이름

설명

함수

이름

설명

추가된 값이 변경 될 때 호출되는 이벤트에요. (Value 이름, 연결 함수)

이름으로 자식 객체를 얻을 수 있어요. (찾고싶은 자식 객체 이름)

자식 객체의 리스트를 얻을 수 있어요.

캐릭터인지 확인할 수 있어요.

스테틱 메시인지 확인할 수 있어요.

FX인지 확인할 수 있어요.

Sound인지 확인할 수 있어요.

포인트 라이트인지 확인할 수 있어요.

스포트 라이트인지 확인할 수 있어요.

서피스 UI인지 확인할 수 있어요.

스크린 UI인지 확인할 수 있어요.

터치 UI인지 확인할 수 있어요.

아이템인지 확인할 수 있어요.

NPC인지 확인할 수 있어요.

스트립트인지 확인할 수 있어요.

Collider인지 확인할 수 있어요.

Widget인지 확인할 수 있어요.

Camera인지 확인할 수 있어요.

해당 오브젝트가 유효한지 확인 할 수있어요.

해당 오브젝트의 값이 유효한지 확인할 수 있어요.

해당 객체에 서버, 클라이언트 간 동기화가 가능한 벡터를 추가해요. (추가할 Value 이름, Vector 데이터, Enum.ReplicateType.타입 , 동기화 시간)

해당 객체에 서버, 클라이언트 간 동기화가 가능한 실수를 추가해요. (추가할 Value 이름, number 데이터, Enum.ReplicateType.타입 , 동기화 시간)

해당 객체에 서버, 클라이언트 간 동기화가 가능한 bool를 추가해요. (추가할 Value 이름, bool 데이터, Enum.ReplicateType.타입 , 동기화 시간)

해당 객체에 서버, 클라이언트 간 동기화가 가능한 문자열을 추가해요. (추가할 Value 이름, string 데이터, Enum.ReplicateType.타입 , 동기화 시간)

해당 객체에 서버, 클라이언트 간 동기화가 가능한 컬러를 추가해요. (추가할 Value 이름, Color 데이터, Enum.ReplicateType.타입 , 동기화 시간)

Last updated

Was this helpful?