Files
my-biz/docs/tech/core.md
2026-02-21 10:26:23 +03:00

5.9 KiB
Raw Blame History

Ядро игры (Core)

Базовые классы и структуры данных, используемые во всём проекте.

Обзор

Модуль MyBiz.Core содержит фундаментальные классы для представления игровых сущностей.

📂 Код: backend/src/MyBiz.Core/


Классы

ProductType

Конфигурация типа продукта. Используется для моддинга.

  • Назначение: Определение свойств типа продукта (цена, спрос, категория)
  • Ключевые свойства: Id, Name, Category, BasePrice, ShelfLife
  • Особенности: Поддержка исторической доступности (год появления)

📂 Исходный код: ProductType.cs


Product

Экземпляр продукта в игре.

  • Назначение: Представление конкретного количества товара
  • Ключевые свойства: Type, Quantity, CurrentPrice, Quality
  • Методы: Add(), Remove(), Update() (проверка срока годности)

📂 Исходный код: Product.cs


ProductRegistry

Централизованный реестр типов продуктов.

  • Назначение: Хранение и управление конфигурациями продуктов
  • Возможности: Регистрация, поиск, фильтрация по категории и году
  • События: ProductTypeAdded, ProductTypeModified (для моддинга)

📂 Исходный код: ProductRegistry.cs


Building

Здание предприятия в игре.

  • Назначение: Представление фабрик, магазинов, складов
  • Ключевые свойства: TypeConfig, Level, Workers, Efficiency
  • Методы: CalculateEfficiency(), Update()

📂 Исходный код: Building.cs


BuildingTypeConfig

Конфигурация типа здания.

  • Назначение: Определение свойств типа здания для моддинга
  • Ключевые свойства: Id, Name, Category, BuildCost, WorkerSlots
  • Категории: RawMaterial, Production, Trade, Research, Storage, Office

📂 Исходный код: Building.cs


City

Город с рынком.

  • Назначение: Представление локации с экономикой
  • Ключевые свойства: Name, Population, MarketDemand, MarketSupply, Prices
  • Словари: Спрос/предложение по типам продуктов, цены

📂 Исходный код: City.cs


Company

Компания игрока.

  • Назначение: Состояние бизнеса игрока
  • Ключевые свойства: Cash, Assets, Liabilities, Buildings, Inventory
  • Вычисляемое: NetWorth (чистая стоимость)

📂 Исходный код: Company.cs


ProductionChainConfig

Конфигурация производственной цепочки.

  • Назначение: Определение рецепта производства
  • Ключевые свойства: OutputProductId, RequiredBuildingId, Steps
  • Шаги: Список ProductionStep с входными продуктами и временем

📂 Исходный код: ProductionChain.cs


ActiveProductionChain

Активный процесс производства на здании.

  • Назначение: Отслеживание прогресса производства
  • Ключевые свойства: Config, Building, CurrentStep, Progress
  • Методы: Tick() (продвижение на 1 тик)

📂 Исходный код: ProductionChain.cs


Перечисления

ProductCategory

Категории продуктов:

Значение Описание
RawMaterial Сырьё (хлопок, сталь)
Component Компоненты (ткань, детали)
ConsumerGoods Товары народного потребления
Luxury Предметы роскоши (будущее)

📂 Исходный код: ProductType.cs


BuildingCategory

Категории зданий:

Значение Описание
RawMaterial Добыча сырья
Production Производство
Trade Торговля
Research Исследования
Storage Склад
Office Офис

📂 Исходный код: Building.cs


Связанные документы


Последнее обновление: 20.02.2026