public static Entity BaseEntity(double x, double z, string name, Map <uint, WorkerRequirementSet> writeAcl)
        {
            var entity = new Entity();

            entity.Add(new Position.Data(new Coordinates(x, 0, z)));
            entity.Add(new Persistence.Data());
            entity.Add(new Metadata.Data(name));
            var aclData = new EntityAclData();

            aclData.readAcl           = TreeWorker;
            aclData.componentWriteAcl = writeAcl;
            entity.Add(new EntityAcl.Data(aclData));
            return(entity);
        }
        static Entity CreateBaseEntity(Coordinates coord, string name, WorkerRequirementSet readAcl, Map <uint, WorkerRequirementSet> writeAcl)
        {
            var entity = new Entity();

            entity.Add(new Position.Data(coord));
            entity.Add(new Persistence.Data());
            entity.Add(new Metadata.Data(name));

            var aclData = new EntityAclData {
                readAcl           = readAcl,
                componentWriteAcl = writeAcl
            };

            entity.Add(new EntityAcl.Data(aclData));

            return(entity);
        }
Example #3
0
 public static unsafe void Write(global::Improbable.Worker.Internal.GcHandlePool _pool,
                                 EntityAclData _data, global::Improbable.Worker.Internal.Pbio.Object *_obj)
 {
     {
         global::Improbable.WorkerRequirementSet_Internal.Write(_pool, _data.readAcl, global::Improbable.Worker.Internal.Pbio.AddObject(_obj, 1));
     }
     if (_data.componentWriteAcl != null)
     {
         for (var _node = _data.componentWriteAcl.First; _node != null; _node = _node.Next)
         {
             var _pair = global::Improbable.Worker.Internal.Pbio.AddObject(_obj, 2);
             {
                 global::Improbable.Worker.Internal.Pbio.AddUint32(_pair, 1, _node.Value.Key);
             }
             {
                 global::Improbable.WorkerRequirementSet_Internal.Write(_pool, _node.Value.Value, global::Improbable.Worker.Internal.Pbio.AddObject(_pair, 2));
             }
         }
     }
 }
 public static unsafe void Write(global::Improbable.Worker.Internal.GcHandlePool _pool,
                                 EntityAclData _data, global::Improbable.Worker.CInterop.SchemaObject _obj)
 {
     {
         global::Improbable.WorkerRequirementSet_Internal.Write(_pool, _data.readAcl, _obj.AddObject(1));
     }
     if (_data.componentWriteAcl != null)
     {
         for (var _node = _data.componentWriteAcl.First; _node != null; _node = _node.Next)
         {
             var _pair = _obj.AddObject(2);
             {
                 _pair.AddUint32(1, _node.Value.Key);
             }
             {
                 global::Improbable.WorkerRequirementSet_Internal.Write(_pool, _node.Value.Value, _pair.AddObject(2));
             }
         }
     }
 }
Example #5
0
        /// <summary>
        ///     Creates a new <see cref="Acl" /> starting with the given <see cref="EntityAclData" />, and overwriting values in
        ///     'otherAcl' with those present in 'newAcl'.
        /// </summary>
        public static Acl MergeIntoAcl(EntityAclData otherAcl, Acl newAcl)
        {
            Acl mergedAcl = new Acl();

            mergedAcl.readPermissions = otherAcl.readAcl;
            if (newAcl.readPermissions.attributeSet != null)
            {
                mergedAcl.readPermissions = newAcl.readPermissions;
            }

            Map <uint, WorkerRequirementSet> mergedWritePermissions = otherAcl.componentWriteAcl;

            if (newAcl.writePermissions != null)
            {
                foreach (var key in newAcl.writePermissions.Keys)
                {
                    mergedWritePermissions[key] = newAcl.writePermissions[key];
                }
            }

            mergedAcl.writePermissions = mergedWritePermissions;

            return(mergedAcl);
        }