2024-09-22 11:05:41 +08:00
|
|
|
|
using Autodesk.Revit.DB;
|
|
|
|
|
|
using Autodesk.Revit.DB.Architecture;
|
|
|
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
2025-12-28 11:47:54 +08:00
|
|
|
|
using ShrlAlgoToolkit.Core.Assists;
|
2024-09-22 11:05:41 +08:00
|
|
|
|
|
2025-04-24 20:56:44 +08:00
|
|
|
|
namespace ShrlAlgoToolkit.RevitAddins.RvMEP
|
2024-09-22 11:05:41 +08:00
|
|
|
|
{
|
|
|
|
|
|
public partial class RoomCheckItem : ObservableObject
|
|
|
|
|
|
{
|
|
|
|
|
|
[ObservableProperty]
|
2025-10-04 08:52:23 +08:00
|
|
|
|
public partial bool IsSelected { get; set; }
|
|
|
|
|
|
|
2024-09-22 11:05:41 +08:00
|
|
|
|
[ObservableProperty]
|
2025-10-04 08:52:23 +08:00
|
|
|
|
public partial string Name { get; set; }
|
|
|
|
|
|
|
2024-09-22 11:05:41 +08:00
|
|
|
|
[ObservableProperty]
|
2025-10-04 08:52:23 +08:00
|
|
|
|
public partial Room Room { get; set; }
|
2026-01-01 10:02:59 +08:00
|
|
|
|
// 当 Room 属性被赋值时,这个方法会被自动调用
|
|
|
|
|
|
partial void OnRoomChanged(Room value)
|
|
|
|
|
|
{
|
|
|
|
|
|
// 只有当 Room 不为空时才计算默认颜色
|
|
|
|
|
|
if (value != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
// 这里实现了“初始值”逻辑:每当 Room 变了,Color 就重置为 Room 对应的颜色
|
|
|
|
|
|
Color = ColorAssist.GetDistinctColorById(value.Id);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-09-22 11:05:41 +08:00
|
|
|
|
[ObservableProperty]
|
2026-01-01 10:02:59 +08:00
|
|
|
|
public partial Color Color { get; set; }
|
|
|
|
|
|
|
2024-09-22 11:05:41 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|