private void SetSprite() { Sprite[] Color = SpriteManager.WireSprites[CableType.ToString()]; if (Color == null) { SpriteManager.Instance.InitWireSprites(); Color = SpriteManager.WireSprites[CableType.ToString()]; } SpriteRenderer SR = gameObject.GetComponentInChildren <SpriteRenderer>(); //the red sprite is spliced differently than the rest for some reason :^( string Compound; if (WireEndA < WireEndB) { Compound = WireEndA + "_" + WireEndB; } else { Compound = WireEndB + "_" + WireEndA; } int spriteIndex = WireDirections.GetSpriteIndex(Compound); if (TRay) { spriteIndex += 36; } SR.sprite = Color[spriteIndex]; if (SR.sprite == null) { Logger.LogError("SetSprite: Couldn't find wire sprite, sprite value didn't return anything!", Category.Electrical); } }