[XNA] Fixed compatibility with spine-csharp

This commit is contained in:
pharan 2015-12-31 11:58:04 +08:00
parent e116c15ffb
commit 3d19e22064
2 changed files with 6 additions and 4 deletions

View File

@ -90,10 +90,11 @@ namespace Spine {
public void Draw (Skeleton skeleton) { public void Draw (Skeleton skeleton) {
float[] vertices = this.vertices; float[] vertices = this.vertices;
List<Slot> drawOrder = skeleton.DrawOrder; var drawOrder = skeleton.DrawOrder;
var drawOrderItems = skeleton.DrawOrder.Items;
float skeletonR = skeleton.R, skeletonG = skeleton.G, skeletonB = skeleton.B, skeletonA = skeleton.A; float skeletonR = skeleton.R, skeletonG = skeleton.G, skeletonB = skeleton.B, skeletonA = skeleton.A;
for (int i = 0, n = drawOrder.Count; i < n; i++) { for (int i = 0, n = drawOrder.Count; i < n; i++) {
Slot slot = drawOrder[i]; Slot slot = drawOrderItems[i];
Attachment attachment = slot.Attachment; Attachment attachment = slot.Attachment;
if (attachment is RegionAttachment) { if (attachment is RegionAttachment) {
RegionAttachment regionAttachment = (RegionAttachment)attachment; RegionAttachment regionAttachment = (RegionAttachment)attachment;

View File

@ -83,10 +83,11 @@ namespace Spine {
} }
public void Draw (Skeleton skeleton) { public void Draw (Skeleton skeleton) {
List<Slot> drawOrder = skeleton.DrawOrder; var drawOrder = skeleton.DrawOrder;
var drawOrderItems = skeleton.DrawOrder.Items;
float skeletonR = skeleton.R, skeletonG = skeleton.G, skeletonB = skeleton.B, skeletonA = skeleton.A; float skeletonR = skeleton.R, skeletonG = skeleton.G, skeletonB = skeleton.B, skeletonA = skeleton.A;
for (int i = 0, n = drawOrder.Count; i < n; i++) { for (int i = 0, n = drawOrder.Count; i < n; i++) {
Slot slot = drawOrder[i]; Slot slot = drawOrderItems[i];
RegionAttachment regionAttachment = slot.Attachment as RegionAttachment; RegionAttachment regionAttachment = slot.Attachment as RegionAttachment;
if (regionAttachment != null) { if (regionAttachment != null) {
BlendState blend = slot.Data.BlendMode == BlendMode.additive ? BlendState.Additive : defaultBlendState; BlendState blend = slot.Data.BlendMode == BlendMode.additive ? BlendState.Additive : defaultBlendState;