Skip to content
Snippets Groups Projects
Select Git revision
  • c74aceba660f587086f932240ec69932b62b44e0
  • develop default protected
  • ical-export
  • feature/audit_log
  • fix/index
  • badge-redeem-404
  • 720-schedule_source
  • room-docu
  • chore/event-views
  • 511-schedule-foo-fixed
  • 607-schedule-versions
  • deploy/curl-verbose
  • fix/public-badge-access-rights
  • 445-schedule-redirects
  • 623-wiki-im-baustellenmodus-sollte-mal-als-wiki-admin-trotzdem-seiten-anlegen-bearbeiten-konnen
  • fix/registration_mail_subject
  • feature/conference-query-set
  • feature/568-habitatmanagement
  • feat/unit-integration-tests
  • camp23-prod
  • production
  • prod-2024-12-27_20-15
  • prod-2024-12-27_16-37
  • prod-2024-12-27_16-01
  • prod-2024-12-27_13-29
  • prod-2024-12-27_00-34
  • prod-2024-12-26_21-45
  • prod-2024-12-26_13-12
  • prod-2024-12-26_00-21
  • prod-2024-12-25_21-04
  • prod-2024-12-25_15-54
  • prod-2024-12-25_01-29
  • prod-2024-12-24_14-48
  • prod-2024-12-23_23-39
  • prod-2024-12-22_21-12
  • prod-2024-12-22_17-25
  • prod-2024-12-22_01-34
  • prod-2024-12-22_00-55
  • prod-2024-12-21_13-42
  • prod-2024-12-21_10-44
  • prod-2024-12-20_12-25
41 results

maps.py

Blame
  • Forked from hub / hub
    Source project has a limited visibility.
    Properties.hs 30.85 KiB
    {-# LANGUAGE DataKinds         #-}
    {-# LANGUAGE LambdaCase        #-}
    {-# LANGUAGE MultiWayIf        #-}
    {-# LANGUAGE NamedFieldPuns    #-}
    {-# LANGUAGE OverloadedStrings #-}
    {-# LANGUAGE RecordWildCards   #-}
    {-# LANGUAGE TupleSections     #-}
    {-# LANGUAGE TypeApplications  #-}
    
    -- | Contains checks for custom ties of the map json
    module Properties (checkMap, checkTileset, checkLayer) where
    
    
    import           Control.Monad     (forM, forM_, unless, when)
    import           Data.Text         (Text, intercalate, isPrefixOf, isInfixOf)
    import qualified Data.Text         as T
    import qualified Data.Vector       as V
    import           Tiled             (Layer (..), Object (..), Property (..),
                                        PropertyValue (..), Tile (..),
                                        Tiledmap (..), Tileset (..))
    import           TiledAbstract     (HasName (..), HasProperties (..),
                                        HasTypeName (..), IsProperty (..))
    import           Util              (layerIsEmpty, mkProxy, naiveEscapeHTML,
                                        prettyprint, showText)
    
    import           Badges            (Badge (Badge),
                                        BadgeArea (BadgePoint, BadgeRect),
                                        BadgeToken, parseToken)
    import           Data.Data         (Proxy (Proxy))
    import           Data.Functor      ((<&>))
    import           Data.List         ((\\))
    import           Data.Maybe        (fromMaybe, isJust)
    import           Data.Set          (Set)
    import qualified Data.Set          as S
    import           Data.Text.Metrics (damerauLevenshtein)
    import           Data.Vector       (Vector)
    import           GHC.TypeLits      (KnownSymbol)
    import           LayerData         (Collision, layerOverlaps)
    import           LintConfig        (LintConfig (..))
    import           LintWriter        (LintWriter, adjust, askContext,
                                        askFileDepth, complain, dependsOn, forbid,
                                        lintConfig, offersBadge, offersEntrypoint,
                                        suggest, warn, zoom)
    import           Paths             (PathResult (..), RelPath (..), getExtension,
                                        isOldStyle, parsePath)
    import           Types             (Dep (Link, Local, LocalMap, MapLink))
    import           Uris              (SubstError (..), applySubsts, parseUri, extractDomain)
    
    
    
    knownMapProperties :: Vector Text
    knownMapProperties = V.fromList
      [ "mapName", "mapDescription", "mapCopyright", "mapLink", "script" ]
    
    knownTilesetProperties :: Vector Text
    knownTilesetProperties = V.fromList
      [ "tilesetCopyright", "collides"]
    
    knownObjectProperties :: Vector Text
    knownObjectProperties = V.fromList
      [ "name", "url", "getBadge", "soundRadius", "default", "persist", "openLayer"
      , "closeLayer", "door", "bell", "openSound", "closeSound", "bellSound"
      , "allowapi"]
    
    knownTileLayerProperites :: Vector Text
    knownTileLayerProperites = V.fromList
      [ "jitsiRoom", "jitsiTrigger", "jitsiTriggerMessage", "jitsiWidth", "bbbRoom"
      , "bbbTrigger", "bbbTriggerMessage", "playAudio", "audioLoop", "audioVolumne"
      , "openWebsite", "openWebsiteTrigger", "openWebsiteTriggerMessage", "openTag"
      , "exitUrl", "startLayer", "silent", "getBadge", "zone", "name", "doorVariable"