コード例 #1
0
        public void Register(ConfigurableGameObject configurable)
        {
            if (!this._configurables.ContainsKey(configurable.ConfigurableIdentifier))
            {
                if (this.Debugging)
                {
                    Debug.Log(
                        string.Format(
                            "Environment {0} has registered configurable {1}",
                            this.name,
                            configurable.ConfigurableIdentifier));
                }

                this._configurables.Add(configurable.ConfigurableIdentifier, configurable);
            }
            else
            {
                if (this.Debugging)
                {
                    Debug.Log(
                        string.Format(
                            "Environment {0} already has configurable {1} registered",
                            this.name,
                            configurable.ConfigurableIdentifier));
                }
            }
        }
コード例 #2
0
ファイル: FBSStateUtilities.cs プロジェクト: DanielLSM/droid
        static Offset <FConfigurable> build_configurable(
            FlatBufferBuilder b,
            ConfigurableGameObject configurable,
            string identifier)
        {
            var n = b.CreateString(identifier);

            var observation_offset = 0;
            var observation_type   = FObservation.NONE;

            if (configurable is IHasQuaternionTransform)
            {
                observation_offset = build_quaternion_transform(b, (IHasQuaternionTransform)configurable).Value;
                observation_type   = FObservation.FQT;
            }
            else if (configurable is PositionConfigurable)
            {
                observation_offset = build_position(b, (PositionConfigurable)configurable).Value;
                observation_type   = FObservation.FTriple;
            }
            else if (configurable is IHasSingle)
            {
                observation_offset = build_single(b, (IHasSingle)configurable).Value;
                observation_type   = FObservation.FSingle;
            }
            else if (configurable is EulerTransformConfigurable)
            {
                observation_offset = build_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));
        }