Fixed redundant looping when removing/finishing a director. Fixed issue where packets to delete content group wouldn't send. Fixed issue where ContentGroups/Directors weren't clearing after deletion causing a growing amount of zombie groups/directors.

This commit is contained in:
Filip Maj
2017-06-25 14:52:32 -04:00
parent 875b76634a
commit 019e305525
6 changed files with 15 additions and 8 deletions

View File

@@ -18,6 +18,7 @@ namespace FFXIVClassic_Map_Server.actors.director
private List<Actor> members = new List<Actor>();
private bool isCreated = false;
private bool isDeleted = false;
private bool isDeleting = false;
private Script directorScript;
private Coroutine currentCoroutine;
@@ -121,6 +122,7 @@ namespace FFXIVClassic_Map_Server.actors.director
public void EndDirector()
{
isDeleting = true;
if (this is GuildleveDirector)
((GuildleveDirector)this).EndGuildleveDirector();
@@ -141,7 +143,9 @@ namespace FFXIVClassic_Map_Server.actors.director
public void RemoveMember(Actor actor)
{
if (members.Contains(actor))
members.Remove(actor);
members.Remove(actor);
if (GetPlayerMembers().Count == 0 && !isDeleting)
EndDirector();
}
public List<Actor> GetMembers()

View File

@@ -46,8 +46,6 @@ namespace FFXIVClassic_Map_Server.actors.director
guildleveWork.uiState[3] = 1;
guildleveWork.aimNumNow[0] = guildleveWork.aimNumNow[1] = guildleveWork.aimNumNow[2] = guildleveWork.aimNumNow[3] = 0;
LoadGuildleve();
}
public void LoadGuildleve()