92 lines
3.6 KiB
Markdown
92 lines
3.6 KiB
Markdown
|
|
# Диагностика сохранения коллизии
|
|||
|
|
|
|||
|
|
## 🔍 Добавлено подробное логирование для отладки коллизии
|
|||
|
|
|
|||
|
|
### **В консоли браузера (F12):**
|
|||
|
|
|
|||
|
|
#### **При изменении свойств объекта:**
|
|||
|
|
```
|
|||
|
|
🔧 Обновлены свойства объекта: {
|
|||
|
|
name: "Название объекта",
|
|||
|
|
organization_id: 2,
|
|||
|
|
collidable: true, ← Проверьте это значение
|
|||
|
|
interior_id: 101
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### **При сохранении объекта:**
|
|||
|
|
```
|
|||
|
|
🔍 Проверяем коллизию: {
|
|||
|
|
'obj.userData.collidable': true, ← Значение в объекте
|
|||
|
|
'objectData.collidable': true, ← Значение для сервера
|
|||
|
|
'objectCollidable state': true ← Значение в состоянии
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **В консоли сервера:**
|
|||
|
|
|
|||
|
|
#### **При получении данных:**
|
|||
|
|
```
|
|||
|
|
🔍 Получены данные объекта: {
|
|||
|
|
id: 110,
|
|||
|
|
name: "Название объекта",
|
|||
|
|
collidable: true, ← Проверьте это значение
|
|||
|
|
city_id: 1
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### **При обновлении объекта:**
|
|||
|
|
```
|
|||
|
|
🔄 Обновляем существующий объект с ID: 110
|
|||
|
|
🔍 Значение collidable для UPDATE: true ← Проверьте это значение
|
|||
|
|
✅ Объект обновлен: { id: 110 }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### **При создании объекта:**
|
|||
|
|
```
|
|||
|
|
🆕 Создаем новый объект
|
|||
|
|
🔍 Значение collidable для INSERT: true ← Проверьте это значение
|
|||
|
|
✅ Новый объект создан: { id: 111 }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🐛 Возможные проблемы:
|
|||
|
|
|
|||
|
|
### **1. Коллизия не обновляется в userData**
|
|||
|
|
**Симптом:** `obj.userData.collidable` остается false
|
|||
|
|
**Решение:** Проверьте, что вы нажали "Применить" после изменения коллизии
|
|||
|
|
|
|||
|
|
### **2. Коллизия не передается на сервер**
|
|||
|
|
**Симптом:** `objectData.collidable` остается false
|
|||
|
|
**Решение:** Проверьте, что `obj.userData.collidable` обновляется
|
|||
|
|
|
|||
|
|
### **3. Коллизия не сохраняется в БД**
|
|||
|
|
**Симптом:** На сервере `collidable` остается false
|
|||
|
|
**Решение:** Проверьте SQL запрос и значения параметров
|
|||
|
|
|
|||
|
|
## 🔧 Пошаговая диагностика:
|
|||
|
|
|
|||
|
|
### **Шаг 1: Измените коллизию**
|
|||
|
|
1. Выберите объект
|
|||
|
|
2. Поставьте/снимите галочку "Коллизия"
|
|||
|
|
3. Нажмите "Применить"
|
|||
|
|
4. Проверьте лог: `🔧 Обновлены свойства объекта`
|
|||
|
|
|
|||
|
|
### **Шаг 2: Сохраните объект**
|
|||
|
|
1. Нажмите "Сохранить"
|
|||
|
|
2. Проверьте лог: `🔍 Проверяем коллизию`
|
|||
|
|
3. Все три значения должны быть одинаковыми
|
|||
|
|
|
|||
|
|
### **Шаг 3: Проверьте сервер**
|
|||
|
|
1. Посмотрите логи сервера
|
|||
|
|
2. Проверьте: `🔍 Получены данные объекта`
|
|||
|
|
3. Проверьте: `🔍 Значение collidable для UPDATE/INSERT`
|
|||
|
|
|
|||
|
|
### **Шаг 4: Проверьте БД**
|
|||
|
|
1. Выполните SQL запрос:
|
|||
|
|
```sql
|
|||
|
|
SELECT id, name, collidable FROM city_objects WHERE id = [ID_ОБЪЕКТА];
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## ✅ Ожидаемый результат:
|
|||
|
|
После выполнения всех шагов коллизия должна сохраняться в БД и загружаться при перезагрузке страницы.
|