// package elem_actor -- сущность актора
package elem_actor

import (
	"gitp78su.ipnodns.ru/svi/kern/v3"

	"gitp78su.ipnodns.ru/svi/goarch/lev1/elem_label"
	"gitp78su.ipnodns.ru/svi/goarch/lev1/group_link"
)

// Actor -- сущность актора
type Actor struct {
	Label_        *elem_label.ElemLabel `yaml:"label"`
	UseGroupLink_ *group_link.GroupLink `yaml:"use_group_link"`
}

var (
	hassert = kern.GetFnHassert()
)

// NewActor -- возвращает новый актор
func NewActor(label *elem_label.ElemLabel, useGroupLink *group_link.GroupLink) (*Actor, error) {
	hassert(label != nil, "NewActor(): label==nil")
	hassert(useGroupLink != nil, "NewActor(): useGroupLink==nil")
	sf := &Actor{
		UseGroupLink_: useGroupLink,
		Label_:        label,
	}
	return sf, nil
}
