public override void ComposeSensorTargetSet(GameActor gameActor, Reflex reflex) { List <Filter> filters = reflex.Filters; if (this.playerIndex == PlayerId.Dynamic) { PlayerId dynamicPlayerId = PlayerId.All; // check filters for the player for (int indexFilter = 0; indexFilter < filters.Count; indexFilter++) { PlayerFilter filter = filters[indexFilter] as PlayerFilter; object param; if (filter != null && filter.MatchAction(reflex, out param)) { dynamicPlayerId = (PlayerId)param; break; } } reflex.targetSet.Param = dynamicPlayerId; } else { reflex.targetSet.Param = this.playerIndex; } reflex.targetSet.Action = TestObjectSet(reflex); }
public override ProgrammingElement Clone() { PlayerFilter clone = new PlayerFilter(); CopyTo(clone); return(clone); }
protected void CopyTo(PlayerFilter clone) { base.CopyTo(clone); clone.playerIndex = this.playerIndex; }