using UnityEngine;
using System.Collections;
namespace UMA
{
///
/// Auxillary slot which adds a TwistBone component for the forearms of a newly created character.
///
public class O3nShoulderUpperLegTwistSlotScript : MonoBehaviour
{
static int leftShoulderHash;
static int rightShoulderHash;
static int leftShoulderTwistHash;
static int rightShoulerTwistHash;
static int leftThighHash;
static int rightThighHash;
static int leftThighTwistHash;
static int rightThighTwistHash;
static bool hashesFound = false;
public void OnDnaApplied(UMAData umaData)
{
if (!hashesFound)
{
leftShoulderHash = UMAUtils.StringToHash("Upperarm_L");
rightShoulderHash = UMAUtils.StringToHash("Upperarm_R");
leftShoulderTwistHash = UMAUtils.StringToHash("UpperarmAdjustTwist_L");
rightShoulerTwistHash = UMAUtils.StringToHash("UpperarmAdjustTwist_R");
leftThighHash = UMAUtils.StringToHash("Thigh_L");
rightThighHash = UMAUtils.StringToHash("Thigh_R");
leftThighTwistHash = UMAUtils.StringToHash("ThighAdjustTwist_L");
rightThighTwistHash = UMAUtils.StringToHash("ThighAdjustTwist_R");
hashesFound = true;
}
GameObject leftShoulder = umaData.GetBoneGameObject(leftShoulderHash);
GameObject rightShoulder = umaData.GetBoneGameObject(rightShoulderHash);
GameObject leftShoulderTwist = umaData.GetBoneGameObject(leftShoulderTwistHash);
GameObject rightShoulderTwist = umaData.GetBoneGameObject(rightShoulerTwistHash);
GameObject leftThigh = umaData.GetBoneGameObject(leftThighHash);
GameObject rightThigh = umaData.GetBoneGameObject(rightThighHash);
GameObject leftThighTwist = umaData.GetBoneGameObject(leftThighTwistHash);
GameObject rightThighTwist = umaData.GetBoneGameObject(rightThighTwistHash);
if ((leftShoulder == null) || (rightShoulder == null) || (leftShoulderTwist == null) || (rightShoulderTwist == null)
|| (leftThigh == null) || (rightThigh == null) || (leftThighTwist == null) || (rightThighTwist == null))
{
Debug.LogError("Failed to add o3n Forearm Twist to: " + umaData.name);
return;
}
var twist = umaData.umaRoot.AddComponent();
twist.twistValue = -0.5f;
twist.twistBone = new Transform[] {leftShoulderTwist.transform, rightShoulderTwist.transform, leftThighTwist.transform, rightThighTwist.transform};
twist.refBone = new Transform[] {leftShoulder.transform, rightShoulder.transform, leftThigh.transform, rightThigh.transform};
}
}
}