FryPdf.Plugin.TicTacToe
0.1.0
dotnet add package FryPdf.Plugin.TicTacToe --version 0.1.0
NuGet\Install-Package FryPdf.Plugin.TicTacToe -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FryPdf.Plugin.TicTacToe" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FryPdf.Plugin.TicTacToe" Version="0.1.0" />
<PackageReference Include="FryPdf.Plugin.TicTacToe" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FryPdf.Plugin.TicTacToe --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FryPdf.Plugin.TicTacToe, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FryPdf.Plugin.TicTacToe@0.1.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FryPdf.Plugin.TicTacToe&version=0.1.0
#tool nuget:?package=FryPdf.Plugin.TicTacToe&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FryPDF Tic-Tac-Toe Plugin Example
A complete, self-contained external plugin example for FryPDF implementing a playable, draggable Tic-Tac-Toe mini-game floating overlay.
Features
- 🎮 Floating Draggable Shell Overlay: Mounted to
shell.overlaywith standard Material Design 3 chrome (pin, minimize, close, draggable header). - 🤖 Two Game Modes: Single-Player vs Smart AI or pass-and-play Local 2-Player mode.
- 🏆 Live Score Tracking: Persistent counters for Player X wins, Player O wins, and Draws.
- 🎨 Material Design 3 (M3) Expressive Styling: Adheres to FryPDF's token system (
M3ShapeCornerFull,M3ShapeCornerLarge, dynamic tonal brushes). - ⌨️ Command Palette Integration: Trigger instantly via
Ctrl+Alt+T/⌘Alt+T. - 🕹️ Footer Status Bar Widget: Quick-toggle pill button (
🎮 Tic-Tac-Toe) in the footer status bar. - 🎗️ Ribbon Action: Quick launcher in the Ribbon's View tab.
- ⚙️ Declarative Settings: Auto-generated M3 settings schema for initial mode, AI difficulty, and sound effects.
Project Structure
TicTacToePlugin/
├── TicTacToePlugin.csproj # .NET 10 project file with automated .fryplugin packager
├── plugin.json # Manifest with metadata, icon, and settings schema
├── TicTacToePlugin.cs # IFryPlugin implementation and capability registrations
├── TicTacToeViewModel.cs # Reactive MVVM game state, win detection & AI logic
├── TicTacToeView.axaml # Avalonia XAML Material Design 3 Expressive view
├── TicTacToeView.axaml.cs # Code-behind
└── README.md # This file
Building and Packaging
Run the following command in this directory:
dotnet build -c Release
MSBuild will compile the plugin and automatically package it into:
bin/Release/net10.0/TicTacToe.fryplugin
Installing into FryPDF
Option 1: Drag-and-Drop (Recommended)
- Open FryPDF.
- Open the Plugins Manager (Click the Settings gear in the header $\to$ Plugins & Extensions, or press
Ctrl+Shift+P/⌘Shift+P). - Drag and drop
TicTacToe.frypluginonto the dialog window. - The game mounts immediately without restarting!
Option 2: Command Palette
- In FryPDF, press
Ctrl+Kor⌘Kto open the Command Palette. - Type
Install Plugin Package...and selectTicTacToe.fryplugin.
Option 3: Manual Auto-Discovery Folder
Copy TicTacToe.fryplugin (or the folder containing TicTacToePlugin.dll and plugin.json) into your user plugins directory:
- macOS:
~/Library/Application Support/FryPdf/plugins/ - Windows:
%APPDATA%\FryPdf\plugins\ - Linux:
~/.config/FryPdf/plugins/
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- FryPdf.PluginSdk (>= 0.0.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.