Added event volume and balance.

This commit is contained in:
NathanSweet 2018-09-06 10:58:58 +02:00
parent 1d3d425028
commit 45fbd64e30
4 changed files with 54 additions and 4 deletions

View File

@ -44,6 +44,7 @@ public class Event {
int intValue;
float floatValue;
String stringValue;
float volume, balance;
final float time;
public Event (float time, EventData data) {
@ -76,6 +77,22 @@ public class Event {
this.stringValue = stringValue;
}
public float getVolume () {
return volume;
}
public void setVolume (float volume) {
this.volume = volume;
}
public float getBalance () {
return balance;
}
public void setBalance (float balance) {
this.balance = balance;
}
/** The animation time this event was keyed. */
public float getTime () {
return time;

View File

@ -38,6 +38,7 @@ public class EventData {
int intValue;
float floatValue;
String stringValue, audioPath;
float volume, balance;
public EventData (String name) {
if (name == null) throw new IllegalArgumentException("name cannot be null.");
@ -76,6 +77,22 @@ public class EventData {
this.audioPath = audioPath;
}
public float getVolume () {
return volume;
}
public void setVolume (float volume) {
this.volume = volume;
}
public float getBalance () {
return balance;
}
public void setBalance (float balance) {
this.balance = balance;
}
/** The name of the event, which is unique within the skeleton. */
public String getName () {
return name;

View File

@ -310,6 +310,10 @@ public class SkeletonBinary {
data.floatValue = input.readFloat();
data.stringValue = input.readString();
data.audioPath = input.readString();
if (data.audioPath != null) {
data.volume = input.readFloat();
data.balance = input.readFloat();
}
skeletonData.events.add(data);
}
@ -821,6 +825,10 @@ public class SkeletonBinary {
event.intValue = input.readInt(false);
event.floatValue = input.readFloat();
event.stringValue = input.readBoolean() ? input.readString() : eventData.stringValue;
if (event.getData().audioPath != null) {
event.volume = input.readFloat();
event.balance = input.readFloat();
}
timeline.setFrame(i, event);
}
timelines.add(timeline);

View File

@ -295,7 +295,11 @@ public class SkeletonJson {
data.intValue = eventMap.getInt("int", 0);
data.floatValue = eventMap.getFloat("float", 0f);
data.stringValue = eventMap.getString("string", "");
data.audioPath = eventMap.getString("audio", "");
data.audioPath = eventMap.getString("audio", null);
if (data.audioPath != null) {
data.volume = eventMap.getFloat("volume", 1);
data.balance = eventMap.getFloat("balance", 0);
}
skeletonData.events.add(data);
}
@ -736,9 +740,13 @@ public class SkeletonJson {
EventData eventData = skeletonData.findEvent(eventMap.getString("name"));
if (eventData == null) throw new SerializationException("Event not found: " + eventMap.getString("name"));
Event event = new Event(eventMap.getFloat("time"), eventData);
event.intValue = eventMap.getInt("int", eventData.getInt());
event.floatValue = eventMap.getFloat("float", eventData.getFloat());
event.stringValue = eventMap.getString("string", eventData.getString());
event.intValue = eventMap.getInt("int", eventData.intValue);
event.floatValue = eventMap.getFloat("float", eventData.floatValue);
event.stringValue = eventMap.getString("string", eventData.stringValue);
if (event.getData().audioPath != null) {
event.volume = eventMap.getFloat("volume", eventData.volume);
event.balance = eventMap.getFloat("balance", eventData.balance);
}
timeline.setFrame(frameIndex++, event);
}
timelines.add(timeline);