Block screen during long loading

This commit is contained in:
2022-12-29 00:44:51 +00:00
parent d1f80f1f7f
commit be41d51819
13 changed files with 90 additions and 54 deletions
+10 -10
View File
@@ -1,14 +1,14 @@
module Dodge.Tesla.Arc
( shootTeslaArc'
, moveTeslaArc
) where
module Dodge.Tesla.Arc (
makeTeslaArc,
updateTeslaArc,
) where
import Data.Foldable
import Dodge.Data.CrWlID
import Dodge.Data.ArcStep
import Data.Maybe
import Dodge.ArcStep
import Dodge.Damage
import Dodge.Data.ArcStep
import Dodge.Data.CrWlID
import Dodge.Data.World
import Dodge.Spark
import Geometry
@@ -26,11 +26,11 @@ aTeslaArcAt col thearc =
, _taColor = brightX 100 1.5 col
}
moveTeslaArc ::
updateTeslaArc ::
World ->
TeslaArc ->
(World, Maybe TeslaArc)
moveTeslaArc w pt
updateTeslaArc w pt
| _taTimer pt == 2 = (makesparks $ foldl' (flip damthings) w thearc, Just $ pt & taTimer -~ 1)
| _taTimer pt < 1 = (w, Nothing)
| otherwise = (w, Just $ pt & taTimer -~ 1)
@@ -54,8 +54,8 @@ moveTeslaArc w pt
where
q = 5 *.* unitVectorAtAngle dir
shootTeslaArc' :: ItemParams -> Point2 -> Float -> World -> (World, ItemParams)
shootTeslaArc' ip pos dir w =
makeTeslaArc :: ItemParams -> Point2 -> Float -> World -> (World, ItemParams)
makeTeslaArc ip pos dir w =
( w & randGen .~ g
& cWorld . lWorld . teslaArcs .:~ aTeslaArcAt col newarc
, ip & currentArc ?~ newarc