public NavHandleData(NavigationRequest req, NavEntity targetEntity) { entity = targetEntity; sourceRequest = req; entityID = targetEntity.entityID; _movementRequest = new MovementRequest { entityID = entityID }; isGroup = targetEntity.navEntityType == ENavEntityType.Group; if (isGroup) { _childEntityDataList = new List <NavHandleData>(); NavGroup group = (NavGroup)targetEntity; for (int i = 0; i < group.individualList.Count; i++) { _childEntityDataList.Add(new NavHandleData(req, group.individualList[i])); // 将成员添加进RVO的模拟列表中 Simulator.Instance.addAgent( group.individualList[i].controlledAgent.GetCurrentPosition().ToRVOVec2() , ENTITY_COLLIDER_RADIUS, 8, 1f, 2f, 1f, NavEntity.GetMaxSpeed(group.individualList[i].entityID), new RVO.Vector2(0, 0)); } } destination = req.destination; startPosition = targetEntity.controlledAgent.GetCurrentPosition(); }