// Use this for initialization public override void Init(AnimationAnalyzer animAnalyzer, NeighbourAgents neighborhood, NeighbourObstacles obstacles) { analyzer = animAnalyzer; if (analyzer != null && !analyzer.initialized) { analyzer.Init(); } storedPlan = new List <FootstepPlanningAction>(); outputPlan = new Stack <DefaultAction>(); domainList = new List <PlanningDomainBase>(); gpd = new GridPlanningDomain(analyzer); //gtd = new GridTimeDomain(analyzer, obstacles); gtd = new GridTimeDomain(obstacles, neighborhood); fpd = new FootstepPlanningDomain(analyzer, neighborhood, obstacles); if (useGridDomain) { domainList.Add(gpd); //domainList.Add(gpd); } if (useGridTimeDomain) { domainList.Add(gtd); //domainList.Add(gtd); } if (useFootstepDomain) { domainList.Add(fpd); //domainList.Add(fpd); } planner = new BestFirstSearchPlanner(); planner.init(ref domainList, MaxNumberOfNodes); initialized = true; currentState = null; isPlanComputed = false; planChanged = false; goalMeshRenderer = goalStateTransform.gameObject.GetComponent("MeshRenderer") as MeshRenderer; currentGoal = goalStateTransform.position; goalReached = false; }
// Use this for initialization public override void Init(AnimationAnalyzer animAnalyzer, NeighbourAgents neighborhood, NeighbourObstacles obstacles) { analyzer = animAnalyzer; if (analyzer != null && !analyzer.initialized) analyzer.Init(); storedPlan = new List<FootstepPlanningAction>(); outputPlan = new Stack<DefaultAction>(); domainList = new List<PlanningDomainBase>(); gpd = new GridPlanningDomain(analyzer); //gtd = new GridTimeDomain(analyzer, obstacles); gtd = new GridTimeDomain(obstacles,neighborhood); fpd = new FootstepPlanningDomain(analyzer, neighborhood, obstacles); if (useGridDomain) { domainList.Add(gpd); //domainList.Add(gpd); } if (useGridTimeDomain) { domainList.Add(gtd); //domainList.Add(gtd); } if (useFootstepDomain) { domainList.Add(fpd); //domainList.Add(fpd); } planner = new BestFirstSearchPlanner(); planner.init(ref domainList, MaxNumberOfNodes); initialized = true; currentState = null; isPlanComputed = false; planChanged = false; goalMeshRenderer = goalStateTransform.gameObject.GetComponent("MeshRenderer") as MeshRenderer; currentGoal = goalStateTransform.position; goalReached = false; }