public virtual void DestoryZone(AreaZoneDestoryNotify stop) { try { ZoneInfo zone = zones.RemoveZone(stop.zoneUUID); if (zone != null) { //log.Log("DestoryZone: " + stop.zoneUUID + " " + stop); zone.area.currentZoneCount--; zone.area.service.Call <DestoryZoneNodeResponse>(new DestoryZoneNodeRequest() { reason = stop.reason, zoneUUID = stop.zoneUUID }, (rsp, err) => { //log.Log("DestoryZone: " + stop.zoneUUID + " " + rsp); }); } } catch (Exception err) { log.Error(err.Message, err); throw err; } }
public virtual void area_rpc_AreaGameOverHandle(AreaZoneDestoryNotify stop) { //TODO flag destory //log.Info("AreaMgr recive " + stop + " " + stop.zoneUUID); DestoryZone(stop); }