Yes i could Pharan.
Here is the Code for the Character appearence.
The issue happens when this is in the Void Update
skeletoRenderer.skeleton.SetAttachment("gloveStandardFSlot", "luvas/modeloF" + playerLuvaToString);
skeletoRenderer.skeleton.SetAttachment("gloveStandardBSlot", "luvas/modeloT" + playerLuvaToString);
"Luvas" mean gloves, this is the slot for the gloves. The mesh is animated but when the code is in the update the animation is gone. It must be in the update because i want to change characters in the Vs screen.
The reason for this in the code :
/if(trocaDeluva == true)
{
//LUVAS
skeletoRenderer.skeleton.SetAttachment("gloveStandardFSlot", "luvas/modeloF" + playerLuvaToString);
skeletoRenderer.skeleton.SetAttachment("gloveStandardBSlot", "luvas/modeloT" + playerLuvaToString);
trocaDeluva = false;
}/
it was that i was trying to make the glove change during the Update for a few frames, and than animate. But with this on, the slot becomes radom, didnt find out why...
using UnityEngine;
using System.Collections;
public class PlayerApparelMenu : MonoBehaviour {
public int playerNumber;
SkeletonRenderer skeletoRenderer;
string playerSkinToString;
string playerCamisetaToString;
string playerBermudaToString;
string playerLuvaToString;
string playerHairToString;
string playerBeardToString;
string playerTenisToString;
public bool trocaDeluva = true;
// Use this for initialization
void Start()
{
skeletoRenderer = transform.root.GetComponent<SkeletonRenderer>();
SetStaticsToString();
skeletoRenderer.skeleton.SetAttachment("gloveStandardFSlot", "luvas/modeloF" + playerLuvaToString);
skeletoRenderer.skeleton.SetAttachment("gloveStandardBSlot", "luvas/modeloT" + playerLuvaToString);
}
void Update()
{
SetStaticsToString();
/*if(trocaDeluva == true)
{
//LUVAS
skeletoRenderer.skeleton.SetAttachment("gloveStandardFSlot", "luvas/modeloF" + playerLuvaToString);
skeletoRenderer.skeleton.SetAttachment("gloveStandardBSlot", "luvas/modeloT" + playerLuvaToString);
trocaDeluva = false;
}*/
skeletoRenderer.skeleton.SetAttachment("gloveStandardFSlot", "luvas/modeloF" + playerLuvaToString);
skeletoRenderer.skeleton.SetAttachment("gloveStandardBSlot", "luvas/modeloT" + playerLuvaToString);
//SKIN
skeletoRenderer.skeleton.SetSkin("skin" + playerSkinToString);
CamisetaSelected();
CabeloSelected();
BarbaSelected();
//BERMUDAS
skeletoRenderer.skeleton.SetAttachment("bermudaStandardFSlot", "bermudas/modeloF" + playerBermudaToString);
skeletoRenderer.skeleton.SetAttachment("bermudaStandardTSlot", "bermudas/modeloT" + playerBermudaToString);
//TENIS
skeletoRenderer.skeleton.SetAttachment("tenisSlotT", "tenis/modelo" + playerTenisToString);
skeletoRenderer.skeleton.SetAttachment("tenisSlotF", "tenis/modelo" + playerTenisToString);
}
void CabeloSelected()
{
//CARECA
if (playerHairToString == "0")
{
skeletoRenderer.skeleton.SetAttachment("cabeloStandardSlot", null);
} //CABELOS
else
skeletoRenderer.skeleton.SetAttachment("cabeloStandardSlot", "modelo" + playerHairToString);
}
void BarbaSelected()
{
//CARECA
if (playerBeardToString == "0")
{
skeletoRenderer.skeleton.SetAttachment("barbaStandardSlot", null);
} //CABELOS
else
skeletoRenderer.skeleton.SetAttachment("barbaStandardSlot", "modelo" + playerBeardToString);
}
void CamisetaSelected()
{
skeletoRenderer.skeleton.SetAttachment("camiseta", null);
skeletoRenderer.skeleton.SetAttachment("mangaT", null);
skeletoRenderer.skeleton.SetAttachment("mangaF", null);
if (playerCamisetaToString == "0")
{
skeletoRenderer.skeleton.SetAttachment("camisetaRegata", null);
}
else
skeletoRenderer.skeleton.SetAttachment("camisetaRegata", "modelo" + playerCamisetaToString);
}
void SetStaticsToString()
{
if (playerNumber == 1)
{
playerSkinToString = PlayerStatics.skinP1.ToString();
playerCamisetaToString = PlayerStatics.camisetaP1.ToString();
playerBermudaToString = PlayerStatics.bermudaP1.ToString();
playerLuvaToString = PlayerStatics.luvaP1.ToString();
playerHairToString = PlayerStatics.hairP1.ToString();
playerBeardToString = PlayerStatics.beardP1.ToString();
playerTenisToString = PlayerStatics.tenisP1.ToString();
}
else if (playerNumber == 2)
{
playerSkinToString = PlayerStatics.skinP2.ToString();
playerCamisetaToString = PlayerStatics.camisetaP2.ToString();
playerBermudaToString = PlayerStatics.bermudaP2.ToString();
playerLuvaToString = PlayerStatics.luvaP2.ToString();
playerHairToString = PlayerStatics.hairP2.ToString();
playerBeardToString = PlayerStatics.beardP2.ToString();
playerTenisToString = PlayerStatics.tenisP2.ToString();
}
}
This is the code that changes the Static variables that tell the skeletoRenderer what is in the slot.
void SwitchPlayersAppearencesP2()
{
switch (cursorP2Icon)
{
case 0:
PlayerStatics.nameP2 = "Marcus Luz";
PlayerStatics.camisetaP2 = 0;
PlayerStatics.bermudaP2 = 1;
PlayerStatics.luvaP2 = 0;
PlayerStatics.hairP2 = 1;
PlayerStatics.beardP2 = 1;
PlayerStatics.tenisP2 = 3;
break;
case 1:
PlayerStatics.nameP2 = "Felipe Cruz";
PlayerStatics.camisetaP2 = 0;
PlayerStatics.bermudaP2 = 4;
PlayerStatics.luvaP2 = 0;
PlayerStatics.hairP2 = 1;
PlayerStatics.beardP2 = 1;
PlayerStatics.tenisP2 = 0;
break;
case 2:
PlayerStatics.nameP2 = "Igor Cruz";
PlayerStatics.camisetaP2 = 0;
PlayerStatics.bermudaP2 = 0;
PlayerStatics.luvaP2 = 0;
PlayerStatics.hairP2 = 1;
PlayerStatics.beardP2 = 0;
PlayerStatics.tenisP2 = 0;
break;
case 3:
PlayerStatics.nameP2 = "Jeremy";
PlayerStatics.camisetaP2 = 5;
PlayerStatics.bermudaP2 = 3;
PlayerStatics.luvaP2 = 0;
PlayerStatics.hairP2 = 1;
PlayerStatics.beardP2 = 1;
PlayerStatics.tenisP2 = 2;
break;