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)); }
public static FEnvironmentDescription GetRootAsFEnvironmentDescription(ByteBuffer _bb, FEnvironmentDescription obj) { return(obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }