示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
        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);
            }
        }
示例#4
0
 /// <summary>
 /// Calls info.Fail
 /// </summary>
 /// <param name="info"></param>
 public void OnJoin(IJoinGameCallInfo info)
 {
     info.Fail(this.errorMsg);
 }
示例#5
0
 /// <summary>
 /// Calls info.Fail
 /// </summary>
 /// <param name="info"></param>
 public void OnJoin(IJoinGameCallInfo info)
 {
     info.Fail(this.errorMsg);
 }