public static BasicObjectProgram Generator(WorldController controller) { var id = ObjectId.NewGuid(); var metadata = new MetaData(null, null, 0, 0); var resources = new Resources(100); var eigenvalue = new Eigenvalue(); var transform = new Transform(); var parameter = new Parameter(metadata, eigenvalue, transform, resources); var maskedParam = new MaskedParameter(parameter, MaskedParameter.Mask.EIGENVALUE | MaskedParameter.Mask.TRANSFORM); var knowledge = new Knowledge(id, maskedParam); controller.credentialTable.Add(id, Credential.HashPassword(id.ToString(), Credential.HashAlgorithm.NOOP)); var data = new BasicObjectProgram(); data.controller = controller; data.knowledge = knowledge; controller.objectList.Add(id, parameter); var objectIdPair = new ObjectIdPair(); objectIdPair.Add(id, id); controller.maskedObjectList.Add(objectIdPair, maskedParam); return(data); }
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); }
public Knowledge(ObjectId id, MaskedParameter parameter) { this.id = id; this.parameter = parameter; }