public override void OnJoin(IJoinGameCallInfo info) { ++this.CallsCount; try { this.CheckIJoinGameCallInfo(info); this.CheckBeforeOnJoin(); } catch (Exception e) { info.Fail(e.ToString()); return; } try { base.OnJoin(info); this.CheckAfterOnJoin(); } catch (Exception e) { this.PluginHost.BroadcastErrorInfoEvent(e.ToString(), info); } }
public override void OnJoin(IJoinGameCallInfo info) { var res = this.CheckBeforeOnJoin(); if (!string.IsNullOrEmpty(res)) { info.Fail(res); if (this.PluginHost.GameActors.Count != 1) { this.PluginHost.BroadcastErrorInfoEvent("this.PluginHost.GameActors.Count != 1", info); } return; } try { // this part is not used anymore //if (this.PluginHost.GameProperties.ContainsKey("BlockJoinEvents")) //{ // info.JoinParams.PublishJoinEvents = false; // info.JoinParams.ResponseExtraParameters = new Dictionary<byte, object>{{0, "Value0"}}; //} //var actor2 = this.PluginHost.GameActors[1]; //if(actor2.Properties.GetProperty("DoNotPublishCache") != null) //{ // info.JoinParams.PublishCache = false; //} base.OnJoin(info); this.CheckAfterOnJoin(); } catch (Exception e) { this.PluginHost.BroadcastErrorInfoEvent(e.ToString(), info); } }
/// <summary> /// Calls info.Fail /// </summary> /// <param name="info"></param> public void OnJoin(IJoinGameCallInfo info) { info.Fail(this.errorMsg); }