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
|
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
|
// Load loads the data into an AnimationData struct
|
||||||
//nolint:gocognit,funlen // can't reduce
|
//nolint:gocognit,funlen // can't reduce
|
||||||
func Load(data []byte) (*AnimationData, error) {
|
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")
|
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