Exemple #1
0
 private void Player_NetUserDataChanged(Player obj)
 {
     if (_char != null)
     {
         return;
     }
     if (!CharsMgr.SelectCharacter(_user.Char, out _char))
     {
         _player.Error($"Error while retrieving pony");
     }
     else
     {
         _player.SetBounds();
         _object = new WO_Player(this);
         _save   = new AutoSaveChar(this);
         _items  = _object.GetComponent <ItemsMgr>();
         _trade  = _object.GetComponent <TradeMgr>();
         _skills = _object.GetComponent <SkillsMgr>();
         SetPet();
         _user.Map = _server.Map.ID;
         _char.Map = _user.Map;
         _player.SynchNetData();
         CharsMgr.SaveCharacter(_char);
     }
 }
Exemple #2
0
 public void Destroy()
 {
     _player.NetUserDataChanged -= Player_NetUserDataChanged;
     _save.Destroy();
     _object.Destroy();
     _pet?.Destroy();
     CharsMgr.SaveCharacter(_char);
     if (_dialog != null)
     {
         _dialog.Dialog.OnDialogEnd(this);
     }
     if (_shop != null)
     {
         _shop.Movement.Unlock();
     }
     foreach (var item in _clones.Values.ToArray())
     {
         item.Destroy();
     }
     _pet    = null;
     _save   = null;
     _shop   = null;
     _user   = null;
     _char   = null;
     _trade  = null;
     _items  = null;
     _clones = null;
     _dialog = null;
     _server = null;
     _player = null;
     _object = null;
     _skills = null;
 }
Exemple #3
0
 public bool PrepareForMapSwitch()
 {
     _save.Destroy();
     _char.Data.Position = _object.Position;
     _char.Data.Rotation = _object.Rotation;
     return(CharsMgr.SaveCharacter(_char));
 }
Exemple #4
0
 public bool SaveCharacter()
 {
     m_char.Data.Position = m_position;
     m_char.Data.Rotation = m_rotation;
     return(CharsMgr.SaveCharacter(m_char));
 }
 public override void OnFire()
 {
     _data.Data.Position = _data.Object.Position;
     _data.Data.Rotation = _data.Object.Rotation;
     CharsMgr.SaveCharacter(_data.Char);
 }