Block screen during long loading
This commit is contained in:
+10
-10
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user