Fixed work values not updating. GL UI now shows up though it isn't configured.

This commit is contained in:
Filip Maj 2017-06-24 16:58:02 -04:00
parent 186d5b5cc5
commit 8fb4910320
7 changed files with 33 additions and 15 deletions

View file

@ -87,6 +87,8 @@
<Compile Include="actors\chara\Work.cs" />
<Compile Include="actors\debug\Debug.cs" />
<Compile Include="actors\director\Director.cs" />
<Compile Include="actors\director\GuildleveDirector.cs" />
<Compile Include="actors\director\Work\GuildleveWork.cs" />
<Compile Include="actors\EventList.cs" />
<Compile Include="actors\group\ContentGroup.cs" />
<Compile Include="actors\group\Work\ContentGroupWork.cs" />

View file

@ -110,6 +110,9 @@ namespace FFXIVClassic_Map_Server.actors.director
p.QueuePacket(GetInitPackets(p.actorId));
}
}
StartCoroutine("mainLoop", this);
}
public void AddMember(Actor actor)
@ -223,5 +226,21 @@ namespace FFXIVClassic_Map_Server.actors.director
return null;
}
private List<LuaParam> StartCoroutine(string funcName, params object[] args)
{
if (directorScript != null)
{
if (!directorScript.Globals.Get(funcName).IsNil())
{
currentCoroutine = directorScript.CreateCoroutine(directorScript.Globals[funcName]).Coroutine;
DynValue value = currentCoroutine.Resume(args);
LuaEngine.GetInstance().ResolveResume(null, currentCoroutine, value);
}
else
Program.Log.Error("Could not find script for director {0}.", GetName());
}
return null;
}
}
}
}

View file

@ -36,7 +36,7 @@ namespace FFXIVClassic_Map_Server.actors.director
guildleveWork.startTime = Utils.UnixTimeStampUTC();
ActorPropertyPacketUtil propertyBuilder = new ActorPropertyPacketUtil("guildleveWork/start", this, actorId);
propertyBuilder.AddProperty("guildleveWork.startTime");
SendPacketsToPlayers(propertyBuilder.Done());
SendPacketsToPlayers(propertyBuilder.Done());
}
public void EndGuildleve()

View file

@ -38,7 +38,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
public void QueuePacket(SubPacket subPacket, bool isAuthed, bool isEncrypted)
{
//subPacket.header.targetId = id;
subPacket.header.targetId = id;
Server.GetWorldConnection().QueuePacket(subPacket, isAuthed, isEncrypted);
}

View file

@ -372,12 +372,12 @@ namespace FFXIVClassic_Map_Server.lua
CallLuaFunction(player, target, "onEventStarted", false, LuaUtils.CreateLuaParamObjectList(lparams));
}
private DynValue ResolveResume(Player player, Coroutine coroutine, DynValue value)
public DynValue ResolveResume(Player player, Coroutine coroutine, DynValue value)
{
if (value == null || value.IsVoid())
return value;
if (value.String != null && value.String.Equals("_WAIT_EVENT"))
if (player != null && value.String != null && value.String.Equals("_WAIT_EVENT"))
{
GetInstance().AddWaitEventCoroutine(player, coroutine);
}

View file

@ -113,7 +113,7 @@ namespace FFXIVClassic_Map_Server.packets.send.actor
string[] split = name.Split('.');
int arrayIndex = 0;
if (!(split[0].Equals("work") || split[0].Equals("charaWork") || split[0].Equals("playerWork") || split[0].Equals("npcWork")))
if (!(split[0].Equals("work") || split[0].Equals("charaWork") || split[0].Equals("playerWork") || split[0].Equals("npcWork") || split[0].Equals("guildleveWork")))
return false;
Object curObj = actor;