private static WorkerRequirementSet MakeRequirements(string value) { var attributeSet = new WorkerAttributeSet(new List <string> { value }); return(new WorkerRequirementSet(new List <WorkerAttributeSet> { attributeSet })); }
public static unsafe void Write(global::Improbable.Worker.Internal.GcHandlePool _pool, WorkerAttributeSet _data, global::Improbable.Worker.CInterop.SchemaObject _obj) { if (_data.attribute != null) { for (int _i = 0; _i < _data.attribute.Count; ++_i) { _obj.AddString(1, _data.attribute[_i]); } } }
/// <summary> /// Creates a requirement set (a set of attribute sets) that a worker satisfies if and only /// it satisfies at least one of the attribute sets. /// </summary> public static WorkerRequirementSet MakeRequirementSet(WorkerAttributeSet attribute1, params WorkerAttributeSet[] attributes) { var list = new Collections.List <WorkerAttributeSet>(attributes.Length + 1); foreach (var attribute in Enumerate(attribute1, attributes)) { list.Add(attribute); } return(new WorkerRequirementSet(list)); }
public static unsafe void Write(global::Improbable.Worker.Internal.GcHandlePool _pool, WorkerAttributeSet _data, global::Improbable.Worker.Internal.Pbio.Object *_obj) { if (_data.attribute != null) { for (int _i = 0; _i < _data.attribute.Count; ++_i) { if (_data.attribute[_i] != null) { var _buffer = global::System.Text.Encoding.UTF8.GetBytes(_data.attribute[_i]); global::Improbable.Worker.Internal.Pbio.AddBytes(_obj, 1, (byte *)_pool.Pin(_buffer), (uint)_buffer.Length); } else { global::Improbable.Worker.Internal.Pbio.AddBytes(_obj, 1, null, 0); } } } }
private static Entity CreatePlayerTemplate(CommandRequestOp <Automaton.Spawner.Commands.SpawnPlayer> op, Coordinates position) { var callerWorkerRequirementSet = new WorkerRequirementSet(new Improbable.Collections.List <WorkerAttributeSet> { new WorkerAttributeSet(op.CallerAttributeSet) }); var gameWorkerAttr = new WorkerAttributeSet(new Improbable.Collections.List <string> { "GameWorker" }); var clientWorkerAttr = new WorkerAttributeSet(new Improbable.Collections.List <string>() { "TPSClient" }); var gameWorkerRequirementSet = new WorkerRequirementSet(new Improbable.Collections.List <WorkerAttributeSet> { gameWorkerAttr }); var allRequirementSet = new WorkerRequirementSet(new Improbable.Collections.List <WorkerAttributeSet> { clientWorkerAttr, gameWorkerAttr }); var writeAcl = new Map <uint, WorkerRequirementSet> { { Position.ComponentId, callerWorkerRequirementSet }, { EntityAcl.ComponentId, gameWorkerRequirementSet }, { Movement.ComponentId, callerWorkerRequirementSet }, { Automaton.Player.Player.ComponentId, callerWorkerRequirementSet }, { Score.ComponentId, gameWorkerRequirementSet } }; Entity entity = new Entity(); entity.Add(new EntityAcl.Data(/* read */ allRequirementSet, /* write */ writeAcl)); entity.Add(new Metadata.Data("SpatialOsPlayer")); entity.Add(new Position.Data(position)); entity.Add(new Movement.Data(false, new Quaternion(1, 0, 0, 0), false)); entity.Add(new Automaton.Player.Player.Data()); entity.Add(new Score.Data(0, 0)); return(entity); }