internal override void AssignData(InstanceMessage data) { NetNodeMessage msg = data as NetNodeMessage; if (msg == null) { deleted = true; return; } id = msg.id; prefab_name = msg.prefab_name; _position = msg.position; terrain_offset = msg.terrain_offset; building_id = msg.building_id; seg_count = msg.seg_count; _cachedSegments = new CachedObj <List <Segment> >(() => api.client.RemoteCall <List <NetSegmentMessage> >(Contracts.GetSegmentsForNodeId, id).Select((obj) => new Segment(obj, api)).ToList());; }
internal Node(NetNodeMessage obj, GameAPI api) : base(api) { AssignData(obj); }