import { useState, useEffect, useRef } from 'react';
import { useSelectedActionSphere, useSelectedPath, useSimulationPaths } from '../../store/store';
import { useThree } from '@react-three/fiber';
import * as THREE from 'three';
import Behaviour from './behaviour/behaviour';
import PathCreation from './path/pathCreation';
import PathConnector from './path/pathConnector';
import useModuleStore from '../../store/useModuleStore';

function Simulation() {
    const { activeModule } = useModuleStore();
    const pathsGroupRef = useRef() as React.MutableRefObject<THREE.Group>;
    const { simulationPaths, setSimulationPaths } = useSimulationPaths();
    const [processes, setProcesses] = useState([]);

    useEffect(() => {
     
    }, [simulationPaths]);

    // useEffect(() => {
    //     if (selectedActionSphere) {
    //         console.log('selectedActionSphere: ', selectedActionSphere);
    //     }
    // }, [selectedActionSphere]);

    // useEffect(() => {
    //     if (selectedPath) {
    //         console.log('selectedPath: ', selectedPath);
    //     }
    // }, [selectedPath]);

    return (
        <>
            <Behaviour/>
            {activeModule === 'simulation' && (
                <>
                    <PathCreation pathsGroupRef={pathsGroupRef} />
                    <PathConnector pathsGroupRef={pathsGroupRef} />
                </>
            )}
        </>
    );
}

export default Simulation;