public void LoadNewAvatar(string path)
 {
     tmpAvatar = AvatarScript.SpawnAvatar(path, false);
     tmpPath   = path;
     if (tmpAvatar != null)
     {
         tmpAvatar.OnAvatarLoaded += AvatarLoaded;
         if (_currentAvatar != null)
         {
             _currentAvatar.UnloadAvatar();
             UnityEngine.Object.Destroy(_currentAvatar.gameObject);
         }
     }
 }
 private void AvatarLoaded()
 {
     Plugin.Log("avatar loaded");
     if (tmpAvatar != null)
     {
         tmpAvatar.HideFromView(true);
         GameObject gameObject = GameObject.Find("Origin");
         tmpAvatar.gameObject.transform.parent        = gameObject.transform;
         tmpAvatar.gameObject.transform.localPosition = Vector3.zero;
         tmpAvatar.gameObject.transform.localRotation = Quaternion.identity;
         PlayerPrefs.SetString("lastAvatar", _currentAvatarPath);
         _currentAvatar     = this.tmpAvatar;
         _currentAvatarPath = this.tmpPath;
     }
     else
     {
         Plugin.Log("avatar == null");
     }
 }