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()
/// <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()