public void ApplySkin(GameType.SkinType newSkin, bool bForceApply = false) { if ((!bForceApply && (newSkin == MyInfo.instance.currentSkin)) || newSkin >= GameType.SkinType.Max) { return; } string clipPath = "Prefabs/Character/Animation/" + newSkin.ToString() + "/"; bool bChanged = false; foreach (var animData in animation2D.m_animStateInfo) { AnimationClip clip = Resources.Load(clipPath + animData.state.ToString()) as AnimationClip; if (clip != null) { bChanged = true; animData.ChangeClip(clip); } } if (bChanged) { animation2D.Initialize(); MyInfo.instance.ChangeSkin(newSkin); } }
/// <summary> /// 바꿀 스킨 타입 (밖에서 확인 절차 다끝나고 저장만 한다) /// </summary> /// <param name="changed"></param> public void ChangeSkin(GameType.SkinType changed) { if (currentSkin != changed) { currentSkin = changed; PlayerPrefs.SetInt("CurrentSkin", (int)currentSkin); } }