@ㅇㅇ
굳이 안하려는 이유가 있음?
객체 날아가는상황에 대한 걱정이라면 object.vaild 같은거로 예외처리 할수있을텐데
이파(dc8626)2025-11-14 03:35
답글
@이파
참조는 한번 날아가면 영영 못찾으니 뭔가 동물적인 감각으로 거부감이 든달까 아무튼 세이브 로드 시에도 GUI 상태를 유지해야 하니 storage를 쓰는 수 밖에 없겠구만
익명(heritage6577)2025-11-14 03:40
답글
@ㅇㅇ
어짜피 gui는 전부 player객체 하위에 들어있는거라서
game.players[1].gui.top.my_gui.destroy() 이런식으로 직접 접근해서 날릴 수도 있긴해
근데 계층 좀만 복잡해져도 정신없어지니깐 storage로 핵심 element들은 레퍼런스 저장해두는게 정신건강에 좋았어
이파(dc8626)2025-11-14 03:44
답글
꼭 gui가 아니더라도 게임에 존재하는 LuaObject들은 game, prototypes, rendering등의 기본전역변수들을 통해서 전부 접근이 가능하도록 되어있을걸
맵에 생성해놓고 참조 잃어버린 LuaEntity조차 game.surfaces[1].find_entities를 써서라도 어떻게든 다 찾아낼수 있긴한거지
이파(dc8626)2025-11-14 04:05
답글
@이파
루아쪽도 신경을 되게 잘 써놨네 확실히
코드쓰기싫음(relative9515)2025-11-14 09:16
답글
@이파
어떻게든 찾아낼 수는 있는데 그 과정이 싫은거지 코드가 너무 지저분해지니
익명(heritage6577)2025-11-14 13:51
답글
@ㅇㅇ
그럼 별수없이 storage에 레퍼런스 때려박는수밖에..
id값으로 바로 원하는 객체에 접근하는건 surface player 같은거 정도는 되는데 entity나 gui같은거에 대한 id 접근은 본 적 없는것 같네
이파(dc8626)2025-11-14 14:27
답글
@이파
걍 레퍼런스 박는게 맞는듯. 아무 문제 없다는 보장만 있다면야
익명(heritage6577)2025-11-14 14:29
답글
@코드쓰기싫음
이거 개발자놈들 루아 컴파일러가 비결정적이고 예측하기 어려운 부분 많다고 독자적으로 루아를 재설계해서 내장 컴파일러 집어넣은 사람들임
보통 변태놈들이 아니다 (....)
그냥 전역변수말고 storage안씀?
전역변수에 GUI Element들 저장해놨는뎅... storage엔 안들어가는걸...
@ㅇㅇ gui가 LuaPlayer쪽에 들어가는거잖음? 그거에 대한 레퍼런스를 storage쪽에 저장해두는건 가능할텐데?
@이파 엥 뭐야 Factorio LuaObject 참조도 저장할 수 있구나? 이건 몰랐네 시벌
@이파 근데 그래도 Object 참조는 뭔가 싫은데 gui element들은 uid 같은거 없나
@ㅇㅇ 굳이 안하려는 이유가 있음? 객체 날아가는상황에 대한 걱정이라면 object.vaild 같은거로 예외처리 할수있을텐데
@이파 참조는 한번 날아가면 영영 못찾으니 뭔가 동물적인 감각으로 거부감이 든달까 아무튼 세이브 로드 시에도 GUI 상태를 유지해야 하니 storage를 쓰는 수 밖에 없겠구만
@ㅇㅇ 어짜피 gui는 전부 player객체 하위에 들어있는거라서 game.players[1].gui.top.my_gui.destroy() 이런식으로 직접 접근해서 날릴 수도 있긴해 근데 계층 좀만 복잡해져도 정신없어지니깐 storage로 핵심 element들은 레퍼런스 저장해두는게 정신건강에 좋았어
꼭 gui가 아니더라도 게임에 존재하는 LuaObject들은 game, prototypes, rendering등의 기본전역변수들을 통해서 전부 접근이 가능하도록 되어있을걸 맵에 생성해놓고 참조 잃어버린 LuaEntity조차 game.surfaces[1].find_entities를 써서라도 어떻게든 다 찾아낼수 있긴한거지
@이파 루아쪽도 신경을 되게 잘 써놨네 확실히
@이파 어떻게든 찾아낼 수는 있는데 그 과정이 싫은거지 코드가 너무 지저분해지니
@ㅇㅇ 그럼 별수없이 storage에 레퍼런스 때려박는수밖에.. id값으로 바로 원하는 객체에 접근하는건 surface player 같은거 정도는 되는데 entity나 gui같은거에 대한 id 접근은 본 적 없는것 같네
@이파 걍 레퍼런스 박는게 맞는듯. 아무 문제 없다는 보장만 있다면야
@코드쓰기싫음 이거 개발자놈들 루아 컴파일러가 비결정적이고 예측하기 어려운 부분 많다고 독자적으로 루아를 재설계해서 내장 컴파일러 집어넣은 사람들임 보통 변태놈들이 아니다 (....)
위 대화가 뭔 대화인지 이해가 안 된다면 지극히 정상입니다.
위 대화가 뭔 대화인지 이해가 된다면 프로그래머 소질이 있습니다.
위 대화가 뭔 대화인지 이해가 되는 사람은 어서 도망치십시오.
뭐지 내가 맨날 회사에서 하는일이랑 비슷해보이는걸 모드제작이나 해볼까