perf: activity 包整体使用体验及性能优化,减少不必要的转换及反射,优化代码结构,优化可读性
This commit is contained in:
@@ -16,6 +16,11 @@ type BasicActivityController[Type, ID generic.Basic, Data any, EntityID generic.
|
||||
// NoneDataActivityController 无数据活动控制器
|
||||
type NoneDataActivityController[Type, ID generic.Basic, Data any, EntityID generic.Basic, EntityData any] interface {
|
||||
BasicActivityController[Type, ID, Data, EntityID, EntityData]
|
||||
// InitializeNoneData 初始化活动
|
||||
// - 该函数提供了一个操作活动数据的入口,可以在该函数中对传入的活动数据进行初始化
|
||||
//
|
||||
// 对于无数据活动,该函数的意义在于,可以在该函数中对活动进行初始化,比如设置活动的状态等,虽然为无数据活动,但是例如活动本身携带的状态数据也是需要加载的
|
||||
InitializeNoneData(handler func(activityId ID, data *DataMeta[Data])) NoneDataActivityController[Type, ID, Data, EntityID, EntityData]
|
||||
}
|
||||
|
||||
// GlobalDataActivityController 全局数据活动控制器
|
||||
@@ -23,6 +28,9 @@ type GlobalDataActivityController[Type, ID generic.Basic, Data any, EntityID gen
|
||||
BasicActivityController[Type, ID, Data, EntityID, EntityData]
|
||||
// GetGlobalData 获取全局数据
|
||||
GetGlobalData(activityId ID) Data
|
||||
// InitializeGlobalData 初始化活动
|
||||
// - 该函数提供了一个操作活动数据的入口,可以在该函数中对传入的活动数据进行初始化
|
||||
InitializeGlobalData(handler func(activityId ID, data *DataMeta[Data])) GlobalDataActivityController[Type, ID, Data, EntityID, EntityData]
|
||||
}
|
||||
|
||||
// EntityDataActivityController 实体数据活动控制器
|
||||
@@ -30,6 +38,9 @@ type EntityDataActivityController[Type, ID generic.Basic, Data any, EntityID gen
|
||||
BasicActivityController[Type, ID, Data, EntityID, EntityData]
|
||||
// GetEntityData 获取实体数据
|
||||
GetEntityData(activityId ID, entityId EntityID) EntityData
|
||||
// InitializeEntityData 初始化活动
|
||||
// - 该函数提供了一个操作活动数据的入口,可以在该函数中对传入的活动数据进行初始化
|
||||
InitializeEntityData(handler func(activityId ID, entityId EntityID, data *EntityDataMeta[EntityData])) EntityDataActivityController[Type, ID, Data, EntityID, EntityData]
|
||||
}
|
||||
|
||||
// GlobalAndEntityDataActivityController 全局数据和实体数据活动控制器
|
||||
@@ -39,4 +50,7 @@ type GlobalAndEntityDataActivityController[Type, ID generic.Basic, Data any, Ent
|
||||
GetGlobalData(activityId ID) Data
|
||||
// GetEntityData 获取实体数据
|
||||
GetEntityData(activityId ID, entityId EntityID) EntityData
|
||||
// InitializeGlobalAndEntityData 初始化活动
|
||||
// - 该函数提供了一个操作活动数据的入口,可以在该函数中对传入的活动数据进行初始化
|
||||
InitializeGlobalAndEntityData(handler func(activityId ID, data *DataMeta[Data]), entityHandler func(activityId ID, entityId EntityID, data *EntityDataMeta[EntityData])) GlobalAndEntityDataActivityController[Type, ID, Data, EntityID, EntityData]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user