Exemple #1
0
        //角色删除广播
        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);
        }