public void Leave(bool teleportToSpawn)
        {
            if (!Fight.Started)
            {
                Team.RemoveFighter(this);

                if (OnLeavePreFightEvt != null)
                {
                    OnLeavePreFightEvt();
                }


                if (!Fight.CheckFightEnd())
                {
                    Fight.CheckFightStart();
                }

                if (teleportToSpawn)
                {
                    Character.RejoinMap(Fight.FightType, false, Fight.SpawnJoin);
                }
                else
                {
                    Character.RejoinMap(Fight.FightType, false, false);
                }
            }
            else
            {
                if (!Left)
                {
                    if (Alive)
                    {
                        this.Stats.CurrentLifePoints = 0;
                        this.Fight.CheckDeads();
                    }
                    if (!Fight.Ended)
                    {
                        Synchronizer sync = new Synchronizer(this.Fight, new PlayableFighter[]
                        {
                            this
                        });
                        sync.Success += delegate(Synchronizer obj)
                        {
                            this.OnPlayerReadyToLeave();
                        };
                        sync.Timeout += delegate(Synchronizer obj, PlayableFighter[] laggers)
                        {
                            this.OnPlayerReadyToLeave();
                        };
                        this.PersonalSynchronizer = sync;
                        sync.Start();
                    }
                    //if (Fight.SequencesManager.SequencesCount == 0)
                    //    OnPlayerReadyToLeave();
                    //else
                    //{
                    //    this.WaitAcknolegement = true;
                    //    this.OnSequencesAcknowleged = OnPlayerReadyToLeave;
                    //}

                    this.Left = true;
                }
            }
        }