コード例 #1
0
ファイル: FBSStateUtilities.cs プロジェクト: pything/droid
        static Offset <FConfigurable> serialise_configurable(
            FlatBufferBuilder b,
            IConfigurable configurable,
            string identifier)
        {
            var n = b.CreateString(identifier);

            int          observation_offset;
            FObservation observation_type;

            if (configurable is IHasQuaternionTransform)
            {
                observation_offset = serialise_quaternion_transform(b, (IHasQuaternionTransform)configurable).Value;
                observation_type   = FObservation.FQT;
            }
            else if (configurable is PositionConfigurable)
            {
                observation_offset = serialise_position(b, (PositionConfigurable)configurable).Value;
                observation_type   = FObservation.FTriple;
            }
            else if (configurable is IHasSingle)
            {
                observation_offset = serialise_single(b, (IHasSingle)configurable).Value;
                observation_type   = FObservation.FSingle;
                // ReSharper disable once SuspiciousTypeConversion.Global
            }
            else if (configurable is IHasDouble)
            {
                // ReSharper disable once SuspiciousTypeConversion.Global
                observation_offset = serialise_double(b, (IHasDouble)configurable).Value;
                observation_type   = FObservation.FDouble;
            }
            else if (configurable is EulerTransformConfigurable)
            {
                observation_offset = serialise_euler_transform(b, (IHasEulerTransform)configurable).Value;
                observation_type   = FObservation.FET;
            }
            else
            {
                FConfigurable.StartFConfigurable(b);
                FConfigurable.AddConfigurableName(b, n);
                return(FConfigurable.EndFConfigurable(b));
            }

            FConfigurable.StartFConfigurable(b);
            FConfigurable.AddConfigurableName(b, n);
            FConfigurable.AddObservation(b, observation_offset);
            FConfigurable.AddObservationType(b, observation_type);
            return(FConfigurable.EndFConfigurable(b));
        }
コード例 #2
0
ファイル: NeodroidFBSState.cs プロジェクト: pything/droid
 public static FConfigurable GetRootAsFConfigurable(ByteBuffer _bb, FConfigurable obj)
 {
     return(obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb));
 }
コード例 #3
0
ファイル: NeodroidFBSState.cs プロジェクト: pything/droid
 public FConfigurable?ConfigurablesByKey(string key)
 {
     int o = this.__p.__offset(10); return(o != 0 ? FConfigurable.__lookup_by_key(this.__p.__vector(o), key, this.__p.bb) : null);
 }