private bool MatchesCondition(DiaObject actor) { if (actor.IsValid) { switch (Type) { case BountyScriptItemType.InteractWithGizmo: if (actor is DiaGizmo) { var gizmo = actor as DiaGizmo; return(gizmo.IsFullyValid() && ActorFinder.IsGizmoInteractable(gizmo)); } return(false); case BountyScriptItemType.InteractWithMonster: if (actor is DiaUnit) { var unit = actor as DiaUnit; return(ActorFinder.IsUnitInteractable(unit)); } return(false); default: return(false); } } return(false); }