--副将 local GroupSystem = {} local FP=FP function GroupSystem.OnLogicUpdate(entity) local groupComponent = entity.components.group local leader = groupComponent.LeaderEntity if leader then if groupComponent.ToLeaderDisSqr == nil then groupComponent.ToLeaderDisSqr = FP.newV1(0) end FP.V2.DistanceSqr(entity.components.move.LogicPos, leader.components.move.LogicPos, groupComponent.ToLeaderDisSqr) end end function GroupSystem.OnAddEntity(groupID, groupEntity, entity) local groupComponent = entity.components.group groupComponent.GroupID = groupID if groupEntity then groupEntity.components.group:AddEntity(entity) entity.components.group:SetGroupLeader(entity, groupEntity) end end function GroupSystem.OnRemoveEntity(groupEntity, entity) if groupEntity then groupEntity.components.group:RemoveEntity(entity) entity.components.group:SetGroupLeader(entity, nil) end end return GroupSystem