Beispiel #1
0
        static Offset <FEnvironmentDescription> serialise_description(
            FlatBufferBuilder b,
            EnvironmentState state)
        {
            var actors_offsets = new Offset <FActor> [state.Description.Actors.Values.Count];
            var j = 0;

            foreach (var actor in state.Description.Actors)
            {
                var motors_offsets = new Offset <FMotor> [actor.Value.Motors.Values.Count];
                var i = 0;
                foreach (var motor in actor.Value.Motors)
                {
                    motors_offsets[i++] = serialise_motor(b, motor.Value, motor.Key);
                }

                actors_offsets[j++] = serialise_actor(b, motors_offsets, actor.Value, actor.Key);
            }

            var actors_vector_offset = FEnvironmentDescription.CreateActorsVector(b, actors_offsets);

            var configurables_offsets = new Offset <FConfigurable> [state.Description.Configurables.Values.Count];
            var k = 0;

            foreach (var configurable in state.Description.Configurables)
            {
                configurables_offsets[k++] = serialise_configurable(b, configurable.Value, configurable.Key);
            }

            var configurables_vector_offset =
                FEnvironmentDescription.CreateConfigurablesVector(b, configurables_offsets);

            var objective_offset = serialise_objective(b, state.Description);

            FEnvironmentDescription.StartFEnvironmentDescription(b);
            FEnvironmentDescription.AddObjective(b, objective_offset);

            FEnvironmentDescription.AddActors(b, actors_vector_offset);
            FEnvironmentDescription.AddConfigurables(b, configurables_vector_offset);

            return(FEnvironmentDescription.EndFEnvironmentDescription(b));
        }
Beispiel #2
0
 public static FEnvironmentDescription GetRootAsFEnvironmentDescription(ByteBuffer _bb, FEnvironmentDescription obj)
 {
     return(obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb));
 }