private static BoneData parseBoneData(Dictionary<String, Object> boneObject)
		{
			BoneData boneData = new BoneData();
			boneData.Name = boneObject[ConstValues.A_NAME] as String;
			if (boneObject.ContainsKey (ConstValues.A_PARENT)) {
				boneData.Parent = boneObject [ConstValues.A_PARENT] as string;
			}
			if (boneObject.ContainsKey (ConstValues.A_LENGTH)) {
				boneData.Length = boneObject [ConstValues.A_LENGTH] == null ? 0 : (int)boneObject [ConstValues.A_LENGTH];
			}


			if (boneObject.ContainsKey (ConstValues.A_SCALE_MODE)) {
				Object scaleModeObj = boneObject[ConstValues.A_SCALE_MODE];
			   if (scaleModeObj != null) 
				{
					int scaleMode = int.Parse(scaleModeObj.ToString());
					boneData.ScaleMode = scaleMode;
				}
			}
			if(boneObject.ContainsKey (ConstValues.A_FIXED_ROTATION))
			{
		     	bool inheritRotation = bool.Parse(boneObject[ConstValues.A_FIXED_ROTATION].ToString ());
			    if (inheritRotation)
			     {
				   boneData.FixedRotation = inheritRotation;
			     }
			}
			parseTransform(boneObject[ConstValues.TRANSFORM] as Dictionary<string, object>, boneData.Global);
			boneData.Transform.Copy(boneData.Global);

			//Logger.Log (boneData.Name + " " +  boneData.Transform.X + " " + boneData.Transform.Y);
			
			return boneData;
		}
Exemplo n.º 2
0
		public void AddBoneData(BoneData boneData)
		{
			if(boneData == null)
			{
				throw new ArgumentException();
			}
			
			if (_boneDataList.IndexOf(boneData) < 0)
			{
				_boneDataList.Add(boneData);
				//Logger.Log (boneData.Name + " " +  boneData.Transform.X + " " + boneData.Transform.Y);
			}
			else
			{
				throw new ArgumentException();
			}
		}