public string BodyPartConfigToJson(CharacterConstants.BodyPart bodyPart) { string element = ""; string material = ""; switch (bodyPart) { case CharacterConstants.BodyPart.Body: element = this.body; material = this.bodyMaterial; break; case CharacterConstants.BodyPart.Hair: element = this.hair; material = this.hairMaterial; break; case CharacterConstants.BodyPart.Hand: element = this.hand; material = this.handMaterial; break; case CharacterConstants.BodyPart.Hat: element = this.hat; material = this.hatMaterial; break; case CharacterConstants.BodyPart.Pants: element = this.pants; material = this.pantsMaterial; break; case CharacterConstants.BodyPart.Shoes: element = this.shoes; material = this.shoesMaterial; break; } string json = "{'tipe':'"+ bodyPart.ToString() +"','element':'"+ element +"','material':'"+ material +"'}"; return json; }
public string FacePartConfigToJson(CharacterConstants.FacePart facePart) { string material = ""; switch (facePart) { case CharacterConstants.FacePart.Eye_Brows: material = this.eyeBrows; break; case CharacterConstants.FacePart.Eyes: material = this.eyes; break; case CharacterConstants.FacePart.Lip: material = this.lip; break; } string json = "{'tipe':'"+ facePart.ToString() +"','element':'"+ material +"'}"; return json; }
/// <summary> /// Change Face Part /// </summary> /// <param name="facePart">face part enum type</param> /// <param name="partName">part bundle name</param> public void ChangeFacePart(CharacterConstants.FacePart facePart, string partName) { if (_elements.ContainsKey(CharacterConstants.BodyPart.Face) != false) { CharacterFaceElement element = _elements[CharacterConstants.BodyPart.Face] as CharacterFaceElement; element.ChangeFacePart(facePart, partName); if (OnBodyPartChanging != null) { OnBodyPartChanging(BodyPartChangeType.Top); } switch (facePart) { case CharacterConstants.FacePart.Eye_Brows: currentCharacterConfig.eyeBrows = partName; break; case CharacterConstants.FacePart.Eyes: currentCharacterConfig.eyes = partName; break; case CharacterConstants.FacePart.Lip: currentCharacterConfig.lip = partName; break; } //Debug.LogWarning(currentCharacterConfig.CharacterConfigToJson(SkinColorIndex, IsUseHat)); } }
/// <summary> /// Set the character element and material /// </summary> /// <param name="bodyPart">The body part</param> /// <param name="element">The body element</param> /// <param name="material">The body element's material</param> protected void SetElement(CharacterConstants.BodyPart bodyPart, string element, string material) { if (element == null || element.ToLower().Length == 0) { if (_elements.ContainsKey(bodyPart)) { _elements.Remove(bodyPart); } return; } if (_elements.ContainsKey(bodyPart)) { _elements[bodyPart].ElementName = element; _elements[bodyPart].MaterialName = material; } else { _elements.Add(bodyPart, new CharacterElement(this, element, material)); } string hatElement = GetElementName(CharacterConstants.BodyPart.Hat); IsUseHat = hatElement != null; if (OnBodyPartChanging != null) { BodyPartChangeType part = BodyPartChangeType.Middle; switch (bodyPart) { case CharacterConstants.BodyPart.Face: case CharacterConstants.BodyPart.Hair: case CharacterConstants.BodyPart.HairBottom: case CharacterConstants.BodyPart.Hat: part = BodyPartChangeType.Top; break; case CharacterConstants.BodyPart.Pants: case CharacterConstants.BodyPart.Shoes: part = BodyPartChangeType.Bottom; break; } OnBodyPartChanging(part); } /// Save to the character config switch (bodyPart) { case CharacterConstants.BodyPart.Body: currentCharacterConfig.body = element; currentCharacterConfig.bodyMaterial = material; break; case CharacterConstants.BodyPart.Face: currentCharacterConfig.face = element; currentCharacterConfig.faceMaterial = material; break; case CharacterConstants.BodyPart.Hair: currentCharacterConfig.hair = element; currentCharacterConfig.hairMaterial = material; break; case CharacterConstants.BodyPart.HairBottom: currentCharacterConfig.hairBottom = element; currentCharacterConfig.hairBottomMaterial = material; break; case CharacterConstants.BodyPart.Hat: currentCharacterConfig.hat = element; currentCharacterConfig.hatMaterial = material; break; case CharacterConstants.BodyPart.Pants: currentCharacterConfig.pants = element; currentCharacterConfig.pantsMaterial = material; break; case CharacterConstants.BodyPart.Shoes: currentCharacterConfig.shoes = element; currentCharacterConfig.shoesMaterial = material; break; } //Debug.LogWarning(currentCharacterConfig.CharacterConfigToJson(SkinColorIndex, IsUseHat)); }
protected string GetElementName(CharacterConstants.BodyPart bodyPart) { if (_elements.ContainsKey(bodyPart)) { return _elements[bodyPart].ElementName; } return null; }
/// <summary> /// Change Element /// </summary> /// <param name="bodyPart">Element Part we want to change</param> /// <param name="elementName">The Element Bundle Name</param> /// <param name="materialName">The Material Bundle Name</param> public void ChangeElement(CharacterConstants.BodyPart bodyPart, string elementName, string materialName) { SetElement(bodyPart, elementName, materialName); }