//角色删除广播 public virtual void BroadcastDestroyMe(ObjBase _this, ReasonType reason = ReasonType.VisibilityChanged) { if (null == _this.Zone) { return; } if (ObjBase.BroadcastDeleteObjType == 1) { _this.Zone.PushDeleteObj(new DeleteObjMsg { ObjId = _this.ObjId, reason = (int)reason }); return; } var array = new Uint64Array(); array.Items.Add(_this.ObjId); var list = _this.EnumAllVisiblePlayerIdExclude(_this.ObjId).ToArray(); _this.NotifyCharactersToStopSyncMe(list); SceneServer.Instance.ServerControl.DeleteObj(list, array, (uint)reason); }