mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-07 19:26:54 +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 int intValue;
|
||||||
internal float floatValue;
|
internal float floatValue;
|
||||||
internal string stringValue;
|
internal string stringValue;
|
||||||
|
internal float volume;
|
||||||
|
internal float balance;
|
||||||
|
|
||||||
public EventData Data { get { return data; } }
|
public EventData Data { get { return data; } }
|
||||||
/// <summary>The animation time this event was keyed.</summary>
|
/// <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 float Float { get { return floatValue; } set { floatValue = value; } }
|
||||||
public string String { get { return stringValue; } set { stringValue = 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) {
|
public Event (float time, EventData data) {
|
||||||
if (data == null) throw new ArgumentNullException("data", "data cannot be null.");
|
if (data == null) throw new ArgumentNullException("data", "data cannot be null.");
|
||||||
this.time = time;
|
this.time = time;
|
||||||
|
|||||||
@ -40,7 +40,10 @@ namespace Spine {
|
|||||||
public int Int { get; set; }
|
public int Int { get; set; }
|
||||||
public float Float { get; set; }
|
public float Float { get; set; }
|
||||||
public string @String { get; set; }
|
public string @String { get; set; }
|
||||||
|
|
||||||
public string AudioPath { get; set; }
|
public string AudioPath { get; set; }
|
||||||
|
public float Volume { get; set; }
|
||||||
|
public float Balance { get; set; }
|
||||||
|
|
||||||
public EventData (string name) {
|
public EventData (string name) {
|
||||||
if (name == null) throw new ArgumentNullException("name", "name cannot be null.");
|
if (name == null) throw new ArgumentNullException("name", "name cannot be null.");
|
||||||
|
|||||||
@ -288,6 +288,10 @@ namespace Spine {
|
|||||||
data.Float = ReadFloat(input);
|
data.Float = ReadFloat(input);
|
||||||
data.String = ReadString(input);
|
data.String = ReadString(input);
|
||||||
data.AudioPath = ReadString(input);
|
data.AudioPath = ReadString(input);
|
||||||
|
if (data.AudioPath != null) {
|
||||||
|
data.Volume = ReadFloat(input);
|
||||||
|
data.Balance = ReadFloat(input);
|
||||||
|
}
|
||||||
skeletonData.events.Add(data);
|
skeletonData.events.Add(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -804,10 +808,15 @@ namespace Spine {
|
|||||||
for (int i = 0; i < eventCount; i++) {
|
for (int i = 0; i < eventCount; i++) {
|
||||||
float time = ReadFloat(input);
|
float time = ReadFloat(input);
|
||||||
EventData eventData = skeletonData.events.Items[ReadVarint(input, true)];
|
EventData eventData = skeletonData.events.Items[ReadVarint(input, true)];
|
||||||
Event e = new Event(time, eventData);
|
Event e = new Event(time, eventData) {
|
||||||
e.Int = ReadVarint(input, false);
|
Int = ReadVarint(input, false),
|
||||||
e.Float = ReadFloat(input);
|
Float = ReadFloat(input),
|
||||||
e.String = ReadBoolean(input) ? ReadString(input) : eventData.String;
|
String = ReadBoolean(input) ? ReadString(input) : eventData.String
|
||||||
|
};
|
||||||
|
if (e.data.AudioPath != null) {
|
||||||
|
e.volume = ReadFloat(input);
|
||||||
|
e.balance = ReadFloat(input);
|
||||||
|
}
|
||||||
timeline.SetFrame(i, e);
|
timeline.SetFrame(i, e);
|
||||||
}
|
}
|
||||||
timelines.Add(timeline);
|
timelines.Add(timeline);
|
||||||
|
|||||||
@ -296,7 +296,11 @@ namespace Spine {
|
|||||||
data.Int = GetInt(entryMap, "int", 0);
|
data.Int = GetInt(entryMap, "int", 0);
|
||||||
data.Float = GetFloat(entryMap, "float", 0);
|
data.Float = GetFloat(entryMap, "float", 0);
|
||||||
data.String = GetString(entryMap, "string", string.Empty);
|
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);
|
skeletonData.events.Add(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -779,10 +783,15 @@ namespace Spine {
|
|||||||
foreach (Dictionary<string, Object> eventMap in eventsMap) {
|
foreach (Dictionary<string, Object> eventMap in eventsMap) {
|
||||||
EventData eventData = skeletonData.FindEvent((string)eventMap["name"]);
|
EventData eventData = skeletonData.FindEvent((string)eventMap["name"]);
|
||||||
if (eventData == null) throw new Exception("Event not found: " + eventMap["name"]);
|
if (eventData == null) throw new Exception("Event not found: " + eventMap["name"]);
|
||||||
var e = new Event((float)eventMap["time"], eventData);
|
var e = new Event((float)eventMap["time"], eventData) {
|
||||||
e.Int = GetInt(eventMap, "int", eventData.Int);
|
intValue = GetInt(eventMap, "int", eventData.Int),
|
||||||
e.Float = GetFloat(eventMap, "float", eventData.Float);
|
floatValue = GetFloat(eventMap, "float", eventData.Float),
|
||||||
e.String = GetString(eventMap, "string", eventData.String);
|
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);
|
timeline.SetFrame(frameIndex++, e);
|
||||||
}
|
}
|
||||||
timelines.Add(timeline);
|
timelines.Add(timeline);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user