public BasicVehicle(GetPositionFunction getPositionFunction, GetRotationFunction getRotationFunction, MoveToPositionFunction moveToPositionFunction, JumpFunction jumpFunction, ObjectManager objectManager, float maxSteering, float maxVelocity, float maxAcceleration) { Velocity = new Vector3(0, 0, 0); MaxSteering = maxSteering; MaxVelocity = maxVelocity; MaxAcceleration = maxAcceleration; GetRotation = getRotationFunction; GetPosition = getPositionFunction; MoveToPosition = moveToPositionFunction; ObjectManager = objectManager; Jump = jumpFunction; }
public SmartMovementEngine(GetPositionFunction getPositionFunction, GetRotationFunction getRotationFunction, MoveToPositionFunction moveToPositionFunction, GeneratePathFunction generatePathFunction, JumpFunction jumpFunction, ObjectManager objectManager, MovementSettings movementSettings) { State = MovementEngineState.None; GetPosition = getPositionFunction; GetRotation = getRotationFunction; MoveToPosition = moveToPositionFunction; GeneratePath = generatePathFunction; MovementSettings = movementSettings; ObjectManager = objectManager; Jump = jumpFunction; PlayerVehicle = new BasicVehicle(getPositionFunction, getRotationFunction, moveToPositionFunction, jumpFunction, objectManager, movementSettings.MaxSteering, movementSettings.MaxVelocity, movementSettings.MaxAcceleration); }
public static void DoMove() { Command keySpace = new JumpFunction(); Command keyX = new TelekinesisFunction(); if (Input.GetKeyDown(KeyCode.Space)) { keySpace.Execute(); } if (Input.GetKeyDown(KeyCode.X)) { keyX.Execute(); } }