public static List <Knowledge> SearchNearObject(WorldController controller, ObjectId id, String authorityCode) { if (!WorldController.Authorizer(controller, id, authorityCode)) { return(null); } var data = new System.Collections.Generic.Dictionary <System.Guid, MaskedParameter>(); foreach (var item in controller.maskedObjectList) { foreach (var key in item.Key) { if (key.Key.Equals(id) && !key.Value.Equals(id)) { data.Add(key.Value, item.Value); } } } foreach (var item in controller.objectList) { if (item.Key.Equals(id)) { continue; } if (!data.ContainsKey(item.Key)) { var t = new MaskedParameter(item.Value, MaskedParameter.Mask.NONE); data.Add(item.Key, t); } } var result = new List <Knowledge>(); foreach (var item in data) { var t = new Knowledge(item.Key, item.Value); result.Add(t); } return(result); }