Beispiel #1
0
            public ComponentData Build()
            {
                var schemaComponentData = new SchemaComponentData(EntityAclComponentId);
                var fields = schemaComponentData.GetFields();

                // Write the read acl
                var workerRequirementSet = fields.AddObject(1);

                foreach (var attr in readPermissions)
                {
                    // Add another WorkerAttributeSet to the list
                    var set = workerRequirementSet.AddObject(1);
                    set.AddString(1, attr);
                }

                // Write the component write acl
                foreach (var writePermission in writePermissions)
                {
                    var keyValuePair = fields.AddObject(2);
                    keyValuePair.AddUint32(1, writePermission.Key);
                    var containedRequirementSet = keyValuePair.AddObject(2);
                    var containedAttributeSet   = containedRequirementSet.AddObject(1);
                    containedAttributeSet.AddString(1, writePermission.Value);
                }

                return(new ComponentData(schemaComponentData));
            }
        public EntityBuilder AddMetadata(string metadata, string writeAccess)
        {
            var schemaData = new SchemaComponentData(MetadataComponentId);
            var fields     = schemaData.GetFields();

            fields.AddString(1, metadata);

            return(AddComponent(new ComponentData(schemaData), writeAccess));
        }
Beispiel #3
0
        public EntityBuilder AddPosition(double x, double y, double z, string writeAccess)
        {
            var schemaData = new SchemaComponentData(PositionComponentId);
            var fields     = schemaData.GetFields();

            fields.AddDouble(1, x);
            fields.AddDouble(2, y);
            fields.AddDouble(3, z);

            return(AddComponent(new ComponentData(schemaData), writeAccess));
        }