Exemple #1
0
    // Records observed movement of the Player to the Map
    public void recordAction(GameObjectState prevState, GameObjectState currState)
    {
        if (prevState == null || currState == null)
        {
            return;
        }

        double[] prevVoxels = prevState.getVoxelStateVals();
        double[] currVoxels = prevState.getVoxelStateVals();

        PlayerActionState prevActionState = getActionState(prevVoxels);
        PlayerActionState currActionState = getActionState(currVoxels);

        Vector3         rHandPos    = currState.rHandPos - prevState.rHandPos;
        Vector3         rHandVel    = currState.rHandVel - prevState.rHandVel;
        Vector3         paddlePos   = currState.paddlePos - prevState.paddlePos;
        Vector3         paddleVel   = currState.paddleVel - prevState.paddleVel;
        GameObjectState stateChange = new GameObjectState(rHandPos, rHandVel, paddlePos, paddleVel, currState.targetPos, currState.targetVel, currState.deltaTime);

        prevActionState.addAction(currVoxels, stateChange);
    }