// 애니메이션 재생 함수. public void PlayFacialAnim(string faceName, float animPeriod) { RobotFacePartSO animData = robotFacialData.GetFacePartSO(faceName); if (animData) { SetFacialAnimData(animData); PlayFacialAnim(animPeriod); } }
// 캔버스에 있는 각 표정 이미지에 표정 정보 파일에서 불러온 정보를 설정하는 함수. void SetFacePart(RobotFacePartSO model) { TurnOffAllFacialPart(); for (int ix = 0; ix < model.faceParts.Count; ++ix) { SpriteRenderer partRenderer = robotFacialData.partDictionary[model.faceParts[ix].facialPartEnum]; partRenderer.gameObject.SetActive(true); SetSprite(partRenderer, model.faceParts[ix]); } }
// 애니메이션 재생 배열에 정보 설정하는 함수. void AddToAnimDemensions(RobotFacePartSO model) { for (int ix = 0; ix < model.animDemensions.Count; ++ix) { animationDemensions.Add(new Demension( robotFacialData.partDictionary[model.animDemensions[ix].facePart], model.animDemensions[ix].type, model.animDemensions[ix].parameter) ); } }
// 표정 정보 파일에 설정된 애니메이션 정보 읽어와서 애니메이션 재생 배열 재설정 함수. void SetFacialAnimData(RobotFacePartSO model) { animationDemensions.Clear(); AddToAnimDemensions(model); }