public PlayerRobotAdapter(Entitas.IContexts contexts, PlayerEntity entity, NavMeshAgent navMeshAgent, IRobotUserCmdProvider robotUserCmdProvider, IRobotSpeedInfo robotSpeedInfo, IUserCmdGenerator userCmdGenerator, IRobotConfig robotConfig) { NavMeshAgent = navMeshAgent; Entity = entity; RobotUserCmdProvider = robotUserCmdProvider; RobotSpeedInfo = robotSpeedInfo; UserCmdGenerator = userCmdGenerator; RobotConfig = robotConfig; GameContexts = contexts; }
public static void CreateRobotPlayerEntity(Contexts contexts, PlayerEntity player, IRobotConfig robotConfig, IRobotUserCmdProvider robotUserCmdProvider, IUserCmdGenerator userCmdGenerator) { var navMeshAgent = player.RootGo().AddComponent <NavMeshAgent>(); var behaviorTree = player.RootGo().AddComponent <BehaviorTree>(); navMeshAgent.autoTraverseOffMeshLink = false; navMeshAgent.updatePosition = false; navMeshAgent.updateRotation = false; navMeshAgent.updateUpAxis = false; navMeshAgent.stoppingDistance = 0.1f; behaviorTree.enabled = false; var robot = new PlayerRobotAdapter(contexts, player, navMeshAgent, robotUserCmdProvider, new DummyRobotSpeedInfo(), userCmdGenerator, new DummyRobotConfig()); player.AddRobot(robot); }