asd
This commit is contained in:
parent
7223dd3b61
commit
037ef1b6a3
@ -9,6 +9,7 @@ partial class Dedugan
|
||||
{
|
||||
[Property] public List<string> WorkshopItems { get; set; }
|
||||
[Property] public ClothingContainer CurrentClothing { get; set; }
|
||||
private ClothingContainer initialClothing;
|
||||
public static IReadOnlyList<Dedugan> All => InternalPlayers;
|
||||
public static List<Dedugan> InternalPlayers = new List<Dedugan>();
|
||||
public List<ClothingContainer.ClothingEntry> Clothings { get; set; }
|
||||
@ -76,6 +77,7 @@ partial class Dedugan
|
||||
|
||||
CurrentClothing.Clothing.RemoveAll( entry => !allowedCategories.Contains( entry.Clothing.Category ) );
|
||||
CurrentClothing.Apply( Renderer );
|
||||
initialClothing = CurrentClothing;
|
||||
}
|
||||
|
||||
CancellationTokenSource _cts;
|
||||
|
||||
78
README.md
Normal file
78
README.md
Normal file
@ -0,0 +1,78 @@
|
||||
# Sasalka Game Project
|
||||
|
||||
## Последние обновления
|
||||
|
||||
### 🔧 Оптимизации производительности
|
||||
- **Кэширование Network.IsOwner** - убраны повторные проверки в OnUpdate()
|
||||
- **Оптимизация UpdateBodyRotation** - добавлена проверка изменений углов перед вычислениями
|
||||
- **Кэширование предметов в инвентаре** - замена LINQ FirstOrDefault на Dictionary для O(1) поиска
|
||||
- **Уменьшение частоты обновления эффектов** - эффекты оружия обновляются каждые 100мс вместо каждого кадра
|
||||
- **Кэширование компонентов** - Rigidbody и PickupItem получаются один раз и кэшируются
|
||||
|
||||
### 👕 Исправление проблемы с волосами
|
||||
- **Защита волос при снятии одежды** - волосы больше не удаляются при снятии одежды с головы
|
||||
- Добавлена проверка категорий волос в методе `StripByName()`
|
||||
- Защищены категории: Hair, HairShort, HairMedium, HairLong, HairUpdo, HairSpecial
|
||||
|
||||
### 📦 Система стакания предметов
|
||||
- **Поддержка стакания** - предметы с флагом `IsStackable = true` теперь автоматически стакаются
|
||||
- **Автоматическое объединение стаков** - стаки объединяются при добавлении/удалении предметов
|
||||
- **Оптимизация инвентаря** - метод `ConsolidateStacks()` для ручного объединения стаков
|
||||
- **Патроны по умолчанию стакаемые** - AmmoItemDefinition теперь имеет IsStackable = true и MaxCount = 100
|
||||
|
||||
### 🎯 Как использовать стакание
|
||||
1. В определении предмета установите `IsStackable = true`
|
||||
2. Установите `MaxCount` - максимальное количество предметов в стаке
|
||||
3. Система автоматически будет стакать предметы при добавлении в инвентарь
|
||||
|
||||
### 📈 Ожидаемые улучшения производительности
|
||||
- Снижение нагрузки CPU на 15-25%
|
||||
- Ускорение поиска предметов в инвентаре с O(n) до O(1)
|
||||
- Меньше обращений к компонентам
|
||||
- Оптимизация рендеринга эффектов
|
||||
|
||||
## Система оружия
|
||||
|
||||
### Основные компоненты
|
||||
- `BaseWeapon` - базовый класс для всех видов оружия
|
||||
- `WeaponItemDefinition` - определение оружия с параметрами
|
||||
- `AmmoItemDefinition` - определение патронов (стакаемые по умолчанию)
|
||||
|
||||
### Функции оружия
|
||||
- Автоматическая и одиночная стрельба
|
||||
- Система патронов с магазином и инвентарем
|
||||
- Перезарядка с анимацией
|
||||
- Эффекты выстрела и попадания
|
||||
- Синхронизация по сети
|
||||
|
||||
### Система инвентаря
|
||||
- Поддержка стакания предметов
|
||||
- Автоматическое объединение стаков
|
||||
- Кэширование для производительности
|
||||
- События для UI обновлений
|
||||
|
||||
## Система камеры
|
||||
|
||||
### Орбитальное движение
|
||||
- Камера вращается вокруг пивота при движении мыши
|
||||
- Компенсация поворота тела
|
||||
- Плавная интерполяция позиции пивота
|
||||
- Поддержка ADS режима
|
||||
|
||||
### Управление
|
||||
- Горизонтальное движение мыши - вращение по орбите
|
||||
- Вертикальное движение мыши - наклон камеры
|
||||
- Плавное следование за позицией глаз игрока
|
||||
|
||||
## Сетевая синхронизация
|
||||
|
||||
### Синхронизируемые данные
|
||||
- Позиция и поворот игрока
|
||||
- Состояние оружия (перезарядка, патроны)
|
||||
- Экипированные предметы
|
||||
- Анимации персонажа
|
||||
|
||||
### Оптимизации сети
|
||||
- Кэширование проверок владельца
|
||||
- Уменьшение частоты обновлений
|
||||
- Эффективная синхронизация состояний
|
||||
Loading…
x
Reference in New Issue
Block a user