Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
 public Knowledge(ObjectId id, MaskedParameter parameter)
 {
     this.id        = id;
     this.parameter = parameter;
 }