MMORPG_AI_NPC_MCP_CLIENT_SERVER / src /ui /documentation_tabs.py
Chris4K's picture
Upload 195 files
4c75d73 verified
"""
Documentation Tabs Component for MMORPG UI
This module contains the documentation content management for the HuggingFace-style UI.
"""
import gradio as gr
from typing import Dict, Any
class DocumentationTabs:
"""Manages documentation content for the MMORPG application."""
def __init__(self):
self.docs_content = self._initialize_docs_content()
def _initialize_docs_content(self) -> Dict[str, str]:
"""Initialize documentation content."""
return {
"quick_start": self._get_quick_start_content(),
"game_mechanics": self._get_game_mechanics_content(),
"chat_system": self._get_chat_system_content(),
"technical": self._get_technical_content()
}
def create_documentation_tabs(self) -> None:
"""Create the documentation tabs interface."""
gr.Markdown("""
<div class="doc-section">
# 📚 MMORPG Documentation
Welcome to the comprehensive guide for our modern MMORPG with MCP integration!
</div>
""")
with gr.Tabs():
with gr.Tab("🚀 Quick Start"):
gr.Markdown(self.docs_content["quick_start"])
with gr.Tab("🎮 Game Mechanics"):
gr.Markdown(self.docs_content["game_mechanics"])
with gr.Tab("💬 Chat System"):
gr.Markdown(self.docs_content["chat_system"])
with gr.Tab("🔧 Technical"):
gr.Markdown(self.docs_content["technical"])
def _get_quick_start_content(self) -> str:
"""Get quick start guide content."""
return """
## 🚀 Quick Start Guide
### Getting Started
1. **Join the Game**: Enter your character name and click "Join Game"
2. **Move Around**: Use WASD keys or arrow keys to move your character
3. **Interact**: Walk near NPCs (📮🏪🌤️) to interact with them
4. **Chat**: Use the chat system to communicate with other players
5. **Explore**: Check out the NPC Add-ons tab for special features
### Basic Controls
- **Movement**: WASD or Arrow Keys
- **Action**: Spacebar
- **Chat**: Type in the chat box and press Enter
- **Private Messages**: Move near players/NPCs and use the private chat system
### Game Features
- **Real-time Multiplayer**: Up to 20 players can join simultaneously
- **AI Agent Support**: AI agents can connect via MCP protocol
- **NPC Interactions**: Each NPC has unique features and personalities
- **Plugin System**: Extensible architecture for custom add-ons
- **Tree Collision**: Navigate around trees in the expanded world
"""
def _get_game_mechanics_content(self) -> str:
"""Get game mechanics content."""
return """
## 🎮 Game Mechanics
### Player System
- **Health Points (HP)**: Start with 100 HP, maximum 100 HP
- **Experience Points**: Gain XP through interactions and activities
- **Leveling**: Level up as you gain experience
- **Gold**: Virtual currency for trading with NPCs
### World Interaction
- **NPC Proximity**: Walk within range of NPCs to interact
- **Collision Detection**: Trees and obstacles block movement
- **Chat System**: Public and private messaging
- **Real-time Updates**: All actions update in real-time
### NPCs Available
- **📮 Secure Mailbox**: Read2Burn messaging system
- **🏪 Donald the Trader**: deal making trading NPC with funny responses
- **🚶 Roaming Rick**: Moving NPC that wanders the world
- **🧙 Ancient Sage**: Mystical NPC with wisdom and magic
- **🌤️ Weather Oracle**: MCP-powered weather information
"""
def _get_chat_system_content(self) -> str:
"""Get chat system content."""
return """
## 💬 Advanced Chat System
### Public Chat
- Visible to all players in the game
- Supports emojis and basic formatting
- Command system with /help for available commands
### Private Messaging
- **Tab-based Interface**: Multiple simultaneous conversations
- **Proximity-based**: Start chats with nearby players/NPCs
- **Pin/Unpin Tabs**: Keep important conversations open
- **Auto-refresh**: Real-time message updates
### Chat Commands
- `/help` - Show available commands
- `/players` - List online players
- `/stats` - Show your character stats
- `/clear` - Clear chat history
- `/whisper <player> <message>` - Send private message
### Chat Features
- **Message History**: Persistent chat history per conversation
- **Unread Indicators**: Visual badges for new messages
- **Emoji Support**: Full emoji support in messages
- **Timestamps**: All messages include timestamps
"""
def _get_technical_content(self) -> str:
"""Get technical documentation content."""
return """
## 🔧 Technical Architecture
### Clean Architecture Implementation
- **Domain Layer**: Core business logic and entities
- **Service Layer**: Application services and use cases
- **Interface Layer**: Contracts and abstractions
- **Infrastructure Layer**: External integrations (MCP, file system)
- **Presentation Layer**: UI components and user interaction
### Key Components
- **GameEngine**: Central singleton managing all game services
- **PlayerService**: Player management and state
- **ChatService**: Messaging and communication
- **NPCService**: NPC behavior and interactions
- **PluginService**: Dynamic plugin loading and management
- **MCPService**: AI agent integration via Model Context Protocol
### Plugin System
- **Hot-reload**: Plugins can be loaded/unloaded at runtime
- **Type Safety**: Strong typing with interfaces and protocols
- **Dependency Management**: Plugin dependencies and requirements
- **Configuration**: JSON-based plugin configuration
### MCP Integration
- **AI Agents**: Connect AI agents as game players
- **Real-time Communication**: Bidirectional communication with agents
- **Tool Integration**: Agents can use game tools and features
- **State Synchronization**: Keep agent state in sync with game state
"""