mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 22:34:53 +08:00
Merge branch '3.7-beta' of https://github.com/esotericsoftware/spine-runtimes into 3.7-beta
This commit is contained in:
commit
c408b7bae0
@ -38,6 +38,8 @@ namespace Spine {
|
||||
internal int intValue;
|
||||
internal float floatValue;
|
||||
internal string stringValue;
|
||||
internal float volume;
|
||||
internal float balance;
|
||||
|
||||
public EventData Data { get { return data; } }
|
||||
/// <summary>The animation time this event was keyed.</summary>
|
||||
@ -47,6 +49,9 @@ namespace Spine {
|
||||
public float Float { get { return floatValue; } set { floatValue = value; } }
|
||||
public string String { get { return stringValue; } set { stringValue = value; } }
|
||||
|
||||
public float Volume { get { return volume; } set { volume = value; } }
|
||||
public float Balance { get { return balance; } set { balance = value; } }
|
||||
|
||||
public Event (float time, EventData data) {
|
||||
if (data == null) throw new ArgumentNullException("data", "data cannot be null.");
|
||||
this.time = time;
|
||||
|
||||
@ -40,7 +40,10 @@ namespace Spine {
|
||||
public int Int { get; set; }
|
||||
public float Float { get; set; }
|
||||
public string @String { get; set; }
|
||||
|
||||
public string AudioPath { get; set; }
|
||||
public float Volume { get; set; }
|
||||
public float Balance { get; set; }
|
||||
|
||||
public EventData (string name) {
|
||||
if (name == null) throw new ArgumentNullException("name", "name cannot be null.");
|
||||
|
||||
@ -288,6 +288,10 @@ namespace Spine {
|
||||
data.Float = ReadFloat(input);
|
||||
data.String = ReadString(input);
|
||||
data.AudioPath = ReadString(input);
|
||||
if (data.AudioPath != null) {
|
||||
data.Volume = ReadFloat(input);
|
||||
data.Balance = ReadFloat(input);
|
||||
}
|
||||
skeletonData.events.Add(data);
|
||||
}
|
||||
|
||||
@ -804,10 +808,15 @@ namespace Spine {
|
||||
for (int i = 0; i < eventCount; i++) {
|
||||
float time = ReadFloat(input);
|
||||
EventData eventData = skeletonData.events.Items[ReadVarint(input, true)];
|
||||
Event e = new Event(time, eventData);
|
||||
e.Int = ReadVarint(input, false);
|
||||
e.Float = ReadFloat(input);
|
||||
e.String = ReadBoolean(input) ? ReadString(input) : eventData.String;
|
||||
Event e = new Event(time, eventData) {
|
||||
Int = ReadVarint(input, false),
|
||||
Float = ReadFloat(input),
|
||||
String = ReadBoolean(input) ? ReadString(input) : eventData.String
|
||||
};
|
||||
if (e.data.AudioPath != null) {
|
||||
e.volume = ReadFloat(input);
|
||||
e.balance = ReadFloat(input);
|
||||
}
|
||||
timeline.SetFrame(i, e);
|
||||
}
|
||||
timelines.Add(timeline);
|
||||
|
||||
@ -296,7 +296,11 @@ namespace Spine {
|
||||
data.Int = GetInt(entryMap, "int", 0);
|
||||
data.Float = GetFloat(entryMap, "float", 0);
|
||||
data.String = GetString(entryMap, "string", string.Empty);
|
||||
data.AudioPath = GetString(entryMap, "audio", string.Empty);
|
||||
data.AudioPath = GetString(entryMap, "audio", null);
|
||||
if (data.AudioPath != null) {
|
||||
data.Volume = GetFloat(entryMap, "volume", 1);
|
||||
data.Balance = GetFloat(entryMap, "balance", 0);
|
||||
}
|
||||
skeletonData.events.Add(data);
|
||||
}
|
||||
}
|
||||
@ -779,10 +783,15 @@ namespace Spine {
|
||||
foreach (Dictionary<string, Object> eventMap in eventsMap) {
|
||||
EventData eventData = skeletonData.FindEvent((string)eventMap["name"]);
|
||||
if (eventData == null) throw new Exception("Event not found: " + eventMap["name"]);
|
||||
var e = new Event((float)eventMap["time"], eventData);
|
||||
e.Int = GetInt(eventMap, "int", eventData.Int);
|
||||
e.Float = GetFloat(eventMap, "float", eventData.Float);
|
||||
e.String = GetString(eventMap, "string", eventData.String);
|
||||
var e = new Event((float)eventMap["time"], eventData) {
|
||||
intValue = GetInt(eventMap, "int", eventData.Int),
|
||||
floatValue = GetFloat(eventMap, "float", eventData.Float),
|
||||
stringValue = GetString(eventMap, "string", eventData.String)
|
||||
};
|
||||
if (e.data.AudioPath != null) {
|
||||
e.volume = GetFloat(eventMap, "volume", eventData.Volume);
|
||||
e.balance = GetFloat(eventMap, "balance", eventData.Balance);
|
||||
}
|
||||
timeline.SetFrame(frameIndex++, e);
|
||||
}
|
||||
timelines.Add(timeline);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user