public List <YnvFile> Build(bool forVehicle) { NavGrid = new SpaceNavGrid(); YnvFiles = new List <YnvFile>(); if (forVehicle) //for vehicle YNV, only need a single ynv, no splitting { AddVehiclePolys(PolyList); FinalizeYnvs(YnvFiles, true); } else //for static world ynv, need to split polys and generate a set of ynv's. { //1: split polys going over nav grid borders, first by X then by Y var splitpolysX = SplitPolys(PolyList, true); var splitpolysY = SplitPolys(splitpolysX, false); //2: assign polys into their new ynv's AddPolysIntoGrid(splitpolysY); //3: fix up generated ynv's FinalizeYnvs(YnvFiles, false); } return(YnvFiles); }