public override void ComposeSensorTargetSet(GameActor gameActor, Reflex reflex)
        {
            List <Filter> filters = reflex.Filters;

            _typeList.Clear();

            /// We never fire until we have valid data to base a trigger on.

            if (TerrainMaterial.IsValid(OverrideSenseMaterial, false, false))
            {
                _typeList.AddType(OverrideSenseMaterial);

                reflex.targetSet.Param = _typeList;

                reflex.targetSet.Action = TestObjectSet(reflex);
            }
            else if (gameActor.Chassis.TerrainDataValid)
            {
                gameActor.Chassis.GetTerrainMaterials(_typeList);

                reflex.targetSet.Param = _typeList;

                reflex.targetSet.Action = TestObjectSet(reflex);
            }
            else
            {
                reflex.targetSet.Action = false;
            }
        }   // end of ComposeSensorTargetSet()
Esempio n. 2
0
        /// <summary>
        /// See if the gameActor
        /// </summary>
        /// <param name="gameActor"></param>
        /// <param name="reflex"></param>
        /// <returns></returns>
        public override void ComposeSensorTargetSet(GameActor gameActor, Reflex reflex)
        {
            List <Filter> filters = reflex.Filters;

            _typeList.Clear();

            /// We never fire until we have valid data to base a trigger on. We'll know when we have
            /// valid data because the typelist will be non-empty.
            if (gameActor.Chassis.TerrainDataValid)
            {
                gameActor.Chassis.GetWaterMaterials(_typeList);

                reflex.targetSet.Param = _typeList;

                // Test the water materials we are on with any water type filter.
                reflex.targetSet.Action = TestObjectSet(reflex);
            }
            else
            {
                reflex.targetSet.Action = false;
            }
        }   // end of ComposeSensorTargetSet()