mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-10-01 15:46:17 -04:00
animation data: Add/Delete entry methods
This commit is contained in:
parent
2e2d086d71
commit
98539befe3
@ -92,6 +92,28 @@ func (ad *AnimationData) DeleteRecord(name string, recordIdx int) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ad *AnimationData) AddEntry(name string) error {
|
||||
_, found := ad.entries[name]
|
||||
if found {
|
||||
return fmt.Errorf("entry of name %s already exist", name)
|
||||
}
|
||||
|
||||
ad.entries[name] = make([]*AnimationDataRecord, 0)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ad *AnimationData) DeleteEntry(name string) error {
|
||||
_, found := ad.entries[name]
|
||||
if !found {
|
||||
return fmt.Errorf("entry named %s doesn't exist", name)
|
||||
}
|
||||
|
||||
delete(ad.entries, name)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Load loads the data into an AnimationData struct
|
||||
//nolint:gocognit,funlen // can't reduce
|
||||
func Load(data []byte) (*AnimationData, error) {
|
||||
|
@ -256,3 +256,29 @@ func TestAnimationData_PushRecord(t *testing.T) {
|
||||
t.Fatal("unexpected name of new record was set")
|
||||
}
|
||||
}
|
||||
|
||||
func TestAnimationData_AddEntry(t *testing.T) {
|
||||
ad := &AnimationData{
|
||||
entries: make(map[string][]*AnimationDataRecord),
|
||||
}
|
||||
|
||||
ad.AddEntry("a")
|
||||
|
||||
if _, found := ad.entries["a"]; !found {
|
||||
t.Fatal("entry wasn't added")
|
||||
}
|
||||
}
|
||||
|
||||
func TestAnimationData_DeleteEntry(t *testing.T) {
|
||||
ad := &AnimationData{
|
||||
entries: map[string][]*AnimationDataRecord{
|
||||
"a": {{}, {}},
|
||||
},
|
||||
}
|
||||
|
||||
ad.DeleteEntry("a")
|
||||
|
||||
if _, found := ad.entries["a"]; found {
|
||||
t.Fatal("Entry wasn't deleted")
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user