OPUQ6NVYM2BN4H2FENH6EBGVU25XQBY2GRRZANPZEBEACZMDOGEAC RSF65T43YUPY7YJ56XUDB2VECU7SE6PH2ORQXFGKIN5ZDLH6FSIAC 6EXHALB3E5HP3IQVC47M4RVZE2JERJHX37GOOHPYIVAFBWSWUX7QC FLGWAOMMMGBO5ICWD3SXBOGJQA6LL2ZHTIQIMGY5VNFAETKDPPYAC HXHNGFB2VCXB6YXDND35HJI22GBJC3QTSUR2TK3M3LXGJHVNXVHAC DPJCZOPIKAKQIS4YRXETBSJA5ZTL2KQESSJE2TEZFLRQARXUVFXQC Y7VEWZEPUKX2WWPTQCUSIF7YMRUC6JZQNUU5OX3HQDB4GSDSTQZAC EMED7UWAGESRTWJJWVXRL27O4XMBGZDDAU4LNVF3MQAYKFKRDNXQC IYRYOO3B2EFA2O3JJKOQLEQ6WWDCCGEH3LSFCZJUMBXTVYFZS44QC YHYMDE5P7LYLMUCYEW666U2UGY7ADLLC6QRNKIYHSO3P6I4XPM5QC LDXXGEDWISRDMLBW7L2NG6X5757WVFHO7VULU4CINL2FN7MHLEKQC 5BA7VZ3D36S2TC7NZ64R3O364TGXPY5BJUJTGCFZHWZ6JWAXJMUQC ZVGVCWXHWI2VH5RIC7NCN5P6YQKTLABSRSNJ735SNACXHEFY53HAC JG36CDUKVUWJT25PJVMWKWI4KFRHM24PFBKPXXRY3D2XVDKUVI7QC OYNCMT7YDCHK7TFRZDVCMODYMYXRQKK3AU7EOZU7KRA76QGKI3EQC BHSJJQZKFNLL4KWBKDU5MUWK5HZ7HGNXUFC2UHAEGTIXN7ARY3UAC SNFPBDCSRTZ466KGMTCKMOSULFHXFNXN2IXT6O25RRXF6VLGEBZAC YNOQHSPKQHAODMORMW4GKQZK5SCC2LYAFLJHH3GEMZTDM7N52JAAC XF75MWE3S7HPZXDNR5A5BCRAYO3AYCPUQ4KS6JAAH5DWJRYBKJTQC OEKGYL6XZFMUSQPDFFMGGNAPDDKNW4XJNY6ALYQILBLNCRD5BFRAC O65A3D4ZQZ4EVMU65B5HRUHYTMZXAIKETO4ZGLY2HWJC57ANMJQAC 26RDNOXGRCW2E2AOUTKMARJZEGCTVB5K27YXFQFGIAFJ3PP4LWDAC HUH4SI4HXIP72KQSJP2I4ELHX5KUQZM7FFGKZZGJ33DF7E3JHMYQC Z3E7XJOW6NSBDYRDKSGTOAEJSPATAUX4JUFCL4DIL3372GL4K52QC THNMNMVRZQVPZTEXHIK6WGYN3QDEFPKFOVOCB5HTWCYC5BOBYQ5AC AAKN4XJLZ2GARZMUFYX3CJZKYHTRRZDYNTFRLMY7VPAY7K6W4N3QC 5SWO57MM5QKEXDPNI7DOBBW6A6PLTP4PEHHJQ7QOGWLINJ6GIOUQC VG7NEAKILCJJNIATKAPEOTUHKBZJJMPMS6HYT6QFPSF6ZB2ADWUQC YJ3YEICSBUHMDVJB6W3ZOOVWLTAXRDCIKOGNN6HRP6N3HWQTDGVAC RQOE2STHW6BJO2M6LPKAGZMVAUL7N2KYXNYYLLF5XDY6BO3YW5KAC MK5LPGJ3HSEHGWOZFPY6QMFVMHWRXQZ6PUQEXFWNOBAK4SUQT56AC const uiState = useMemo(() => ({ focusedNode }), [focusedNode]);const game = useMemo(() => {return new GameStateFactory({}).create();}, []);
// const uiState = useMemo(() => ({ focusedNode }), [focusedNode]);// const game = useMemo(() => {// return new GameStateFactory({}).create();// }, []);const [game, setGame] = useState<GameState>(new GameStateFactory({}).create());
(chunk, node) => {setBatchContents((n) => n - 1);setFocusedNode({ chunk, node });
(selection: PointNodeRef) => {console.log("GOT TO on node change callback ", selection);setGame(game => {game.playerUI.selectedPointNode = selection;return game;})
const [history, setHistory] = useState<{ chunk: any; node: any }[]>([]);useEffect(() => {if (!focusedNode || focusedNode?.chunk === null) return;setHistory((history) => [...history, focusedNode]);}, [focusedNode]);
// const [history, setHistory] = useState<{ chunk: any; node: any }[]>([]);// useEffect(() => {// if (!focusedNode || focusedNode?.chunk === null) return;// setHistory((history) => [...history, focusedNode]);// }, [focusedNode]);console.log("in nodedetail, ", selectedPointNode);
/*** Initialize the pixi app*/// const game = new BaseGame({// scale: 1,// canvasWidth: 800,// canvasHeight: 800,// tileHeight: 16,// tileWidth: 16,// debugFlags: {},// state: {// tick: 0,// },// backgroundColor: 0xffffff, // TODO(bowei): fix this// });// let application = new Application({ originalWindowWidth: window.innerHeight * .75, originalWindowHeight: window.innerHeight * .75 });
import { PointNodeRef } from "../data/GameState";
constructor(z: number, chunkCoord: Vector2, pointNodeCoord: Vector2, pointNodeId: number) {this.z = z;this.chunkCoord = chunkCoord;this.pointNodeCoord = pointNodeCoord;this.pointNodeId = pointNodeId;
constructor(args: { z: number, chunkCoord: Vector2, pointNodeCoord: Vector2, pointNodeId: number }) {this.z = args.z;this.chunkCoord = args.chunkCoord;this.pointNodeCoord = args.pointNodeCoord;this.pointNodeId = args.pointNodeId;