western-world 3.0.707 → 3.0.708
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/.eslintrc.json +0 -35
- package/config/helpers.js +0 -7
- package/config/webpack-build.js +0 -34
- package/config/webpack-dev.js +0 -30
- package/src/defs/add_credit/add_credit.js +0 -20
- package/src/defs/add_credit/add_credit.scss +0 -106
- package/src/defs/add_deposit/add_deposit.js +0 -16
- package/src/defs/add_deposit/add_deposit.scss +0 -79
- package/src/defs/add_drugs/add_drugs.js +0 -22
- package/src/defs/add_drugs/add_drugs.scss +0 -43
- package/src/defs/add_money/add_money.js +0 -139
- package/src/defs/add_money/add_money.scss +0 -331
- package/src/defs/add_star/add_star.js +0 -23
- package/src/defs/add_star/add_star.scss +0 -90
- package/src/defs/animated_background_1/animated_background_1.js +0 -49
- package/src/defs/animated_background_1/animated_background_1.scss +0 -342
- package/src/defs/army_defence/army_defence.js +0 -11
- package/src/defs/army_defence/army_defence.scss +0 -76
- package/src/defs/army_logo.js +0 -111
- package/src/defs/bank_building.js +0 -205
- package/src/defs/banknotes/banknotes.js +0 -74
- package/src/defs/banknotes/banknotes.scss +0 -81
- package/src/defs/bird/bird.js +0 -26
- package/src/defs/bird/bird.scss +0 -106
- package/src/defs/black-background.js +0 -5
- package/src/defs/boom/boom.js +0 -19
- package/src/defs/boom/boom.scss +0 -61
- package/src/defs/bribery_of_police_defence/bribery_of_police_defence.js +0 -107
- package/src/defs/bribery_of_police_defence/bribery_of_police_defence.scss +0 -90
- package/src/defs/bricks.js +0 -55
- package/src/defs/buble/buble.js +0 -17
- package/src/defs/buble/buble.scss +0 -18
- package/src/defs/buy/buy.js +0 -70
- package/src/defs/buy/buy.scss +0 -226
- package/src/defs/buy_army/buy_army.js +0 -11
- package/src/defs/buy_army/buy_army.scss +0 -47
- package/src/defs/buy_bribery_of_police/buy_bribery_of_police.js +0 -10
- package/src/defs/buy_bribery_of_police/buy_bribery_of_police.scss +0 -47
- package/src/defs/cat/cat.js +0 -27
- package/src/defs/cat/cat.scss +0 -260
- package/src/defs/clock_sign/clock_sign.js +0 -18
- package/src/defs/clock_sign/clock_sign.scss +0 -20
- package/src/defs/clouds_29/clouds_29.js +0 -73
- package/src/defs/clouds_29/clouds_29.scss +0 -5
- package/src/defs/clouds_49/clouds_49.js +0 -89
- package/src/defs/clouds_49/clouds_49.scss +0 -5
- package/src/defs/clouds_63/clouds_63.js +0 -67
- package/src/defs/clouds_63/clouds_63.scss +0 -5
- package/src/defs/clouds_78/clouds_78.js +0 -59
- package/src/defs/clouds_78/clouds_78.scss +0 -5
- package/src/defs/coin-small.js +0 -10
- package/src/defs/coin.js +0 -127
- package/src/defs/coin_2.js +0 -13
- package/src/defs/confetti/confetti.js +0 -262
- package/src/defs/confetti/confetti.scss +0 -17
- package/src/defs/curved_lines/curved_lines.js +0 -13
- package/src/defs/curved_lines/curved_lines.scss +0 -29
- package/src/defs/dollar.js +0 -78
- package/src/defs/dollar_buble/dollar_buble.js +0 -15
- package/src/defs/dollar_buble/dollar_buble.scss +0 -38
- package/src/defs/dollar_sign.js +0 -5
- package/src/defs/drug.js +0 -5
- package/src/defs/drug_buble/drug_buble.js +0 -15
- package/src/defs/drug_buble/drug_buble.scss +0 -38
- package/src/defs/elastic_bar_symbol/elastic_bar_symbol.js +0 -10
- package/src/defs/elastic_bar_symbol/elastic_bar_symbol.scss +0 -41
- package/src/defs/envelope/envelope.js +0 -26
- package/src/defs/envelope/envelope.scss +0 -15
- package/src/defs/fish/fish.js +0 -17
- package/src/defs/fish/fish.scss +0 -38
- package/src/defs/flag.js +0 -34
- package/src/defs/glare/glare.js +0 -11
- package/src/defs/glare/glare.scss +0 -29
- package/src/defs/godfather_logo.js +0 -6
- package/src/defs/gold/gold.js +0 -13
- package/src/defs/gold_up/gold_up.js +0 -59
- package/src/defs/gold_up/gold_up.scss +0 -317
- package/src/defs/grass.js +0 -62
- package/src/defs/hand.js +0 -10
- package/src/defs/hand_with_coin.js +0 -31
- package/src/defs/handcuffs/handcuffs.js +0 -47
- package/src/defs/handcuffs/handcuffs.scss +0 -18
- package/src/defs/heart.js +0 -11
- package/src/defs/item_48/item_48.js +0 -92
- package/src/defs/item_48/item_48.scss +0 -26
- package/src/defs/jar.js +0 -171
- package/src/defs/liguid_in_circle.js +0 -37
- package/src/defs/lost/lost.js +0 -61
- package/src/defs/lost/lost.scss +0 -122
- package/src/defs/money_with_wings/money_with_wings.js +0 -12
- package/src/defs/money_with_wings/money_with_wings.scss +0 -58
- package/src/defs/mouse/mouse.js +0 -26
- package/src/defs/mouse/mouse.scss +0 -88
- package/src/defs/museum.js +0 -414
- package/src/defs/music_notes.js +0 -35
- package/src/defs/no_taxes_defence/no_taxes_defence.js +0 -85
- package/src/defs/no_taxes_defence/no_taxes_defence.scss +0 -109
- package/src/defs/player_lock/player_lock.js +0 -23
- package/src/defs/player_lock/player_lock.scss +0 -79
- package/src/defs/remove_credit/remove_credit.js +0 -112
- package/src/defs/remove_credit/remove_credit.scss +0 -128
- package/src/defs/remove_deposit/remove_deposit.js +0 -20
- package/src/defs/remove_deposit/remove_deposit.scss +0 -150
- package/src/defs/remove_drugs/remove_drugs.js +0 -22
- package/src/defs/remove_drugs/remove_drugs.scss +0 -43
- package/src/defs/remove_money/remove_money.js +0 -86
- package/src/defs/remove_money/remove_money.scss +0 -231
- package/src/defs/remove_money_simple/remove_money_simple.js +0 -13
- package/src/defs/remove_money_simple/remove_money_simple.scss +0 -30
- package/src/defs/rent/rent.js +0 -126
- package/src/defs/rent/rent.scss +0 -49
- package/src/defs/sell/sell.js +0 -122
- package/src/defs/sell/sell.scss +0 -210
- package/src/defs/small_glare/small_glare.js +0 -8
- package/src/defs/small_glare/small_glare.scss +0 -34
- package/src/defs/star.js +0 -11
- package/src/defs/tag.js +0 -8
- package/src/defs/tag_number_9_99.js +0 -9
- package/src/defs/trinket_1.js +0 -34
- package/src/defs/trinket_2.js +0 -33
- package/src/defs/trinket_3.js +0 -13
- package/src/defs/trinket_4.js +0 -26
- package/src/defs/trinket_5.js +0 -29
- package/src/defs/trinket_6.js +0 -25
- package/src/defs/trinket_7.js +0 -22
- package/src/defs/trinket_8.js +0 -26
- package/src/defs/trinket_9.js +0 -42
- package/src/defs/triple_step/triple_step.js +0 -26
- package/src/defs/triple_step/triple_step.scss +0 -48
- package/src/defs/waves/waves.js +0 -31
- package/src/defs/waves/waves.scss +0 -38
- package/src/defs/white_smoke.js +0 -19
- package/src/defs/wing.js +0 -12
- package/src/defs/winner/winner.js +0 -127
- package/src/defs/winner/winner.scss +0 -182
- package/src/filters/blue-glow.js +0 -32
- package/src/filters/blur_filter.js +0 -12
- package/src/filters/goovey.js +0 -9
- package/src/filters/paper.js +0 -8
- package/src/filters/red-glow.js +0 -35
- package/src/filters/scribble.js +0 -8
- package/src/filters/simple-glitch-filter.js +0 -16
- package/src/filters/tv_noise.js +0 -7
- package/src/index.js +0 -2
- package/src/patterns/bricks.pattern.js +0 -5
- package/src/patterns/drugs.pattern.js +0 -5
- package/src/patterns/elephant.pattern.js +0 -14
- package/src/scss/cells/abcde.scss +0 -45
- package/src/scss/cells/accident.scss +0 -45
- package/src/scss/cells/ads.scss +0 -76
- package/src/scss/cells/ambulance_2.scss +0 -164
- package/src/scss/cells/army.scss +0 -140
- package/src/scss/cells/attempt_to_kill_player.scss +0 -26
- package/src/scss/cells/auction_started.scss +0 -104
- package/src/scss/cells/bamper.scss +0 -27
- package/src/scss/cells/banana_plantation.scss +0 -4
- package/src/scss/cells/bank.scss +0 -25
- package/src/scss/cells/bank_27.scss +0 -114
- package/src/scss/cells/bank_8.scss +0 -25
- package/src/scss/cells/bank_crash.scss +0 -72
- package/src/scss/cells/bank_jungle.scss +0 -177
- package/src/scss/cells/bank_robbery.scss +0 -0
- package/src/scss/cells/bermuda_triangle.scss +0 -70
- package/src/scss/cells/bet_on_star_won_40.scss +0 -89
- package/src/scss/cells/bet_on_star_won_41.scss +0 -89
- package/src/scss/cells/bought_10_cars.scss +0 -20
- package/src/scss/cells/bought_drugs_10_tons.scss +0 -39
- package/src/scss/cells/bread_plantation.scss +0 -96
- package/src/scss/cells/bribery_of_police.scss +0 -25
- package/src/scss/cells/bribery_of_the_labor_aristocracy.scss +0 -85
- package/src/scss/cells/broadcast.scss +0 -171
- package/src/scss/cells/broiler_digest.scss +0 -53
- package/src/scss/cells/broken_safe.scss +0 -63
- package/src/scss/cells/buy_barrel_oil.scss +0 -46
- package/src/scss/cells/buy_gold.scss +0 -33
- package/src/scss/cells/cafe_bogema.scss +0 -23
- package/src/scss/cells/came_back.scss +0 -36
- package/src/scss/cells/casino.scss +0 -38
- package/src/scss/cells/coffee.scss +0 -40
- package/src/scss/cells/coffee_break.scss +0 -45
- package/src/scss/cells/commodityexchange_15.scss +0 -9
- package/src/scss/cells/commodityexchange_26.scss +0 -9
- package/src/scss/cells/commodityexchange_33.scss +0 -9
- package/src/scss/cells/contribution_to_the_brain.scss +0 -36
- package/src/scss/cells/crack_house.scss +0 -7
- package/src/scss/cells/crisis_of_confidence.scss +0 -37
- package/src/scss/cells/crocodile.scss +0 -25
- package/src/scss/cells/crop_failure.scss +0 -44
- package/src/scss/cells/deceive.scss +0 -109
- package/src/scss/cells/decided_to_stop_the_game.scss +0 -130
- package/src/scss/cells/desert_island.scss +0 -78
- package/src/scss/cells/doomsday.scss +0 -26
- package/src/scss/cells/drugs_104.scss +0 -7
- package/src/scss/cells/drugs_109.scss +0 -78
- package/src/scss/cells/drugs_plantation.scss +0 -4
- package/src/scss/cells/drunk_skip_two_times.scss +0 -68
- package/src/scss/cells/dumping.scss +0 -72
- package/src/scss/cells/ema.scss +0 -46
- package/src/scss/cells/extortion.scss +0 -197
- package/src/scss/cells/fake_coins.scss +0 -92
- package/src/scss/cells/famine_and_epidemic.scss +0 -143
- package/src/scss/cells/farm.scss +0 -32
- package/src/scss/cells/gave_godfather.scss +0 -100
- package/src/scss/cells/godfather.scss +0 -52
- package/src/scss/cells/gold_bucket.scss +0 -5
- package/src/scss/cells/gold_mine.scss +0 -57
- package/src/scss/cells/golden_tooth.scss +0 -4
- package/src/scss/cells/got_into_an_accident.scss +0 -15
- package/src/scss/cells/hijacking.scss +0 -134
- package/src/scss/cells/hmm.scss +0 -117
- package/src/scss/cells/insurance_10k.scss +0 -65
- package/src/scss/cells/investment.scss +0 -53
- package/src/scss/cells/investment_objective.scss +0 -55
- package/src/scss/cells/item_amount_items48_buy.scss +0 -16
- package/src/scss/cells/item_amount_items48_sell.scss +0 -4
- package/src/scss/cells/justice.scss +0 -5
- package/src/scss/cells/labor_cost_index_down_19.scss +0 -157
- package/src/scss/cells/labor_cost_index_up_32.scss +0 -57
- package/src/scss/cells/loan.scss +0 -22
- package/src/scss/cells/lottery.scss +0 -305
- package/src/scss/cells/mixins/black-background.scss +0 -24
- package/src/scss/cells/mixins/build-appearing.scss +0 -19
- package/src/scss/cells/mixins/commodityexchange.scss +0 -76
- package/src/scss/cells/mixins/curved-path.scss +0 -34
- package/src/scss/cells/mixins/earthquake.scss +0 -116
- package/src/scss/cells/mixins/grass.scss +0 -24
- package/src/scss/cells/mixins/hand_with_coin.scss +0 -80
- package/src/scss/cells/mixins/letter-scale-animation.scss +0 -16
- package/src/scss/cells/mixins/light-blinking.scss +0 -48
- package/src/scss/cells/mixins/nth-child-variable.scss +0 -7
- package/src/scss/cells/mixins/run.scss +0 -95
- package/src/scss/cells/mixins/street_clouds.scss +0 -48
- package/src/scss/cells/mmm.scss +0 -51
- package/src/scss/cells/multiple_money.scss +0 -26
- package/src/scss/cells/mutiny_on_the_ship.scss +0 -64
- package/src/scss/cells/night_robbery.scss +0 -52
- package/src/scss/cells/no_taxes.scss +0 -89
- package/src/scss/cells/official_triumph.scss +0 -32
- package/src/scss/cells/pearls_was_bought.scss +0 -130
- package/src/scss/cells/perls.scss +0 -22
- package/src/scss/cells/pirates.scss +0 -35
- package/src/scss/cells/plantations_brought_profit.scss +0 -266
- package/src/scss/cells/player_lock.scss +0 -18
- package/src/scss/cells/player_lock_103.scss +0 -120
- package/src/scss/cells/player_lock_105.scss +0 -80
- package/src/scss/cells/player_lock_107.scss +0 -5
- package/src/scss/cells/player_lock_92.scss +0 -34
- package/src/scss/cells/player_lock_drugs_plantation.scss +0 -125
- package/src/scss/cells/population_explosion.scss +0 -40
- package/src/scss/cells/port.scss +0 -22
- package/src/scss/cells/president_tax.scss +0 -37
- package/src/scss/cells/protess_mission.scss +0 -129
- package/src/scss/cells/put_money_on_a_star.scss +0 -54
- package/src/scss/cells/question_mark.scss +0 -57
- package/src/scss/cells/racket.scss +0 -57
- package/src/scss/cells/rebellion_in_colony.scss +0 -55
- package/src/scss/cells/rent_for_pearls.scss +0 -4
- package/src/scss/cells/robbery_gold.scss +0 -25
- package/src/scss/cells/saloon.scss +0 -73
- package/src/scss/cells/shipwreck.scss +0 -54
- package/src/scss/cells/shipyards.scss +0 -4
- package/src/scss/cells/shooting.scss +0 -40
- package/src/scss/cells/slave_market.scss +0 -4
- package/src/scss/cells/sleep.scss +0 -59
- package/src/scss/cells/steal_statue.scss +0 -78
- package/src/scss/cells/stock_exchange.scss +0 -16
- package/src/scss/cells/stock_exchange_speculation_18.scss +0 -156
- package/src/scss/cells/stock_exchange_speculation_24.scss +0 -123
- package/src/scss/cells/stock_exchange_speculation_81.scss +0 -39
- package/src/scss/cells/street_29.scss +0 -33
- package/src/scss/cells/street_49.scss +0 -39
- package/src/scss/cells/street_63.scss +0 -51
- package/src/scss/cells/street_78.scss +0 -20
- package/src/scss/cells/strike.scss +0 -156
- package/src/scss/cells/swimming_in_the_coca_cola.scss +0 -129
- package/src/scss/cells/take_away_money_in.scss +0 -180
- package/src/scss/cells/take_from_budget.scss +0 -36
- package/src/scss/cells/tax_on_plantations.scss +0 -89
- package/src/scss/cells/terrorist.scss +0 -73
- package/src/scss/cells/three_kg_gold_treasure_found.scss +0 -109
- package/src/scss/cells/travel_agency.scss +0 -65
- package/src/scss/cells/triple_step.scss +0 -7
- package/src/scss/cells/war_factory.scss +0 -60
- package/src/scss/cells/will_not_bring_profit.scss +0 -21
- package/src/scss/others/circle_is_done.scss +0 -52
- package/src/scss/others/lost.scss +0 -3
- package/src/scss/others/question_marks.scss +0 -32
- package/src/scss/others/surrender.scss +0 -22
- package/src/scss/others/winner.scss +0 -3
- package/src/svg/backgrounds/cactus-1.svg +0 -52
- package/src/svg/backgrounds/cactus-2.svg +0 -27
- package/src/svg/backgrounds/colony/colony-arrow-clon-dike.svg +0 -10
- package/src/svg/backgrounds/colony/colony-arrow-mutiny-on-the-ship-desert-island.svg +0 -10
- package/src/svg/backgrounds/colony/colony-arrow-pirates.svg +0 -22
- package/src/svg/backgrounds/colony/colony-arrow-travel-agency-port-yankees.svg +0 -10
- package/src/svg/backgrounds/colony/colony-background-top-elements-leaves.svg +0 -145
- package/src/svg/backgrounds/colony/colony-background.svg +0 -605
- package/src/svg/backgrounds/colony/colony-fish.svg +0 -169
- package/src/svg/backgrounds/colony/colony-waves.svg +0 -123
- package/src/svg/backgrounds/desert/desert.svg +0 -233
- package/src/svg/backgrounds/forest/forest.scss +0 -158
- package/src/svg/backgrounds/forest/forest.svg +0 -1554
- package/src/svg/backgrounds/industrial-progress/industrial-progress.scss +0 -160
- package/src/svg/backgrounds/industrial-progress/industrial-progress.svg +0 -63
- package/src/svg/backgrounds/skul.svg +0 -47
- package/src/svg/backgrounds/start/start.scss +0 -152
- package/src/svg/backgrounds/start/start.svg +0 -1346
- package/src/svg/backgrounds/tree-1.svg +0 -56
- package/src/svg/backgrounds/tree-2.svg +0 -67
- package/src/svg/backgrounds/western-main-title.svg +0 -95
- package/src/svg/cells/abcde.svg +0 -1017
- package/src/svg/cells/accident.svg +0 -115
- package/src/svg/cells/ads.svg +0 -598
- package/src/svg/cells/ambulance_2.svg +0 -179
- package/src/svg/cells/army.svg +0 -280
- package/src/svg/cells/attempt_to_kill_player.svg +0 -36
- package/src/svg/cells/auction_started.svg +0 -158
- package/src/svg/cells/bamper.svg +0 -423
- package/src/svg/cells/banana_plantation.svg +0 -390
- package/src/svg/cells/bank.svg +0 -27
- package/src/svg/cells/bank_27.svg +0 -162
- package/src/svg/cells/bank_8.svg +0 -72
- package/src/svg/cells/bank_crash.svg +0 -368
- package/src/svg/cells/bank_jungle.svg +0 -733
- package/src/svg/cells/bank_robbery.svg +0 -321
- package/src/svg/cells/bermuda_triangle.svg +0 -289
- package/src/svg/cells/bet_on_star_won_40.svg +0 -206
- package/src/svg/cells/bet_on_star_won_41.svg +0 -256
- package/src/svg/cells/bought_10_cars.svg +0 -221
- package/src/svg/cells/bought_drugs_10_tons.svg +0 -204
- package/src/svg/cells/bread_plantation.svg +0 -414
- package/src/svg/cells/bribery_of_police.svg +0 -666
- package/src/svg/cells/bribery_of_the_labor_aristocracy.svg +0 -146
- package/src/svg/cells/broadcast.svg +0 -357
- package/src/svg/cells/broiler_digest.svg +0 -116
- package/src/svg/cells/broken_safe.svg +0 -557
- package/src/svg/cells/buy_barrel_oil.svg +0 -783
- package/src/svg/cells/buy_gold.svg +0 -208
- package/src/svg/cells/cafe_bogema.svg +0 -302
- package/src/svg/cells/came_back.svg +0 -62
- package/src/svg/cells/casino.svg +0 -1043
- package/src/svg/cells/coffee.svg +0 -355
- package/src/svg/cells/coffee_break.svg +0 -84
- package/src/svg/cells/commodityexchange_15.svg +0 -17
- package/src/svg/cells/commodityexchange_26.svg +0 -16
- package/src/svg/cells/commodityexchange_33.svg +0 -16
- package/src/svg/cells/contribution_to_the_brain.svg +0 -440
- package/src/svg/cells/crack_house.svg +0 -396
- package/src/svg/cells/crisis_of_confidence.svg +0 -383
- package/src/svg/cells/crocodile.svg +0 -146
- package/src/svg/cells/crop_failure.svg +0 -681
- package/src/svg/cells/deceive.svg +0 -169
- package/src/svg/cells/decided_to_stop_the_game.svg +0 -398
- package/src/svg/cells/desert_island.svg +0 -371
- package/src/svg/cells/doomsday.svg +0 -363
- package/src/svg/cells/drugs_104.svg +0 -71
- package/src/svg/cells/drugs_109.svg +0 -213
- package/src/svg/cells/drugs_plantation.svg +0 -111
- package/src/svg/cells/drunk_skip_two_times.svg +0 -242
- package/src/svg/cells/dumping.svg +0 -433
- package/src/svg/cells/ema.svg +0 -300
- package/src/svg/cells/extortion.svg +0 -334
- package/src/svg/cells/fake_coins.svg +0 -128
- package/src/svg/cells/famine_and_epidemic.svg +0 -242
- package/src/svg/cells/farm.svg +0 -109
- package/src/svg/cells/gave_godfather.svg +0 -485
- package/src/svg/cells/godfather.svg +0 -309
- package/src/svg/cells/gold_bucket.svg +0 -335
- package/src/svg/cells/gold_mine.svg +0 -468
- package/src/svg/cells/golden_tooth.svg +0 -135
- package/src/svg/cells/got_into_an_accident.svg +0 -733
- package/src/svg/cells/hijacking.svg +0 -373
- package/src/svg/cells/hmm.svg +0 -181
- package/src/svg/cells/insurance_10k.svg +0 -88
- package/src/svg/cells/investment.svg +0 -102
- package/src/svg/cells/investment_objective.svg +0 -830
- package/src/svg/cells/item_amount_items48_buy.svg +0 -134
- package/src/svg/cells/item_amount_items48_sell.svg +0 -12
- package/src/svg/cells/justice.svg +0 -404
- package/src/svg/cells/labor_cost_index_down_19.svg +0 -84
- package/src/svg/cells/labor_cost_index_up_32.svg +0 -273
- package/src/svg/cells/loan.svg +0 -332
- package/src/svg/cells/lottery.svg +0 -436
- package/src/svg/cells/mmm.svg +0 -171
- package/src/svg/cells/multiple_money.svg +0 -169
- package/src/svg/cells/mutiny_on_the_ship.svg +0 -704
- package/src/svg/cells/night_robbery.svg +0 -308
- package/src/svg/cells/no_taxes.svg +0 -431
- package/src/svg/cells/official_triumph.svg +0 -98
- package/src/svg/cells/pay_tax_33_percent/pay_tax_33_percent.scss +0 -45
- package/src/svg/cells/pay_tax_33_percent/pay_tax_33_percent.svg +0 -147
- package/src/svg/cells/pearls_was_bought.svg +0 -252
- package/src/svg/cells/perls.svg +0 -492
- package/src/svg/cells/pirates.svg +0 -208
- package/src/svg/cells/plantations_brought_profit.svg +0 -193
- package/src/svg/cells/player_lock.svg +0 -23
- package/src/svg/cells/player_lock_103.svg +0 -186
- package/src/svg/cells/player_lock_105.svg +0 -155
- package/src/svg/cells/player_lock_107.svg +0 -87
- package/src/svg/cells/player_lock_92.svg +0 -424
- package/src/svg/cells/player_lock_drugs_plantation.svg +0 -333
- package/src/svg/cells/population_explosion.svg +0 -226
- package/src/svg/cells/port.svg +0 -248
- package/src/svg/cells/president_tax.svg +0 -69
- package/src/svg/cells/protess_mission.svg +0 -340
- package/src/svg/cells/put_money_on_a_star.svg +0 -320
- package/src/svg/cells/question_mark.svg +0 -75
- package/src/svg/cells/racket.svg +0 -263
- package/src/svg/cells/rebellion_in_colony.svg +0 -157
- package/src/svg/cells/rent_for_pearls.svg +0 -538
- package/src/svg/cells/robbery_gold.svg +0 -183
- package/src/svg/cells/saloon.svg +0 -262
- package/src/svg/cells/shipwreck.svg +0 -343
- package/src/svg/cells/shipyards.svg +0 -295
- package/src/svg/cells/shooting.svg +0 -163
- package/src/svg/cells/slave_market.svg +0 -143
- package/src/svg/cells/sleep.svg +0 -336
- package/src/svg/cells/steal_statue.svg +0 -238
- package/src/svg/cells/stock_exchange.svg +0 -37
- package/src/svg/cells/stock_exchange_speculation_18.svg +0 -350
- package/src/svg/cells/stock_exchange_speculation_24.svg +0 -164
- package/src/svg/cells/stock_exchange_speculation_81.svg +0 -336
- package/src/svg/cells/street_29.svg +0 -442
- package/src/svg/cells/street_49.svg +0 -464
- package/src/svg/cells/street_63.svg +0 -303
- package/src/svg/cells/street_78.svg +0 -493
- package/src/svg/cells/strike.svg +0 -208
- package/src/svg/cells/swimming_in_the_coca_cola.svg +0 -180
- package/src/svg/cells/take_away_money_in.svg +0 -189
- package/src/svg/cells/take_from_budget.svg +0 -246
- package/src/svg/cells/tax_on_plantations.svg +0 -359
- package/src/svg/cells/terrorist.svg +0 -154
- package/src/svg/cells/three_kg_gold_treasure_found.svg +0 -513
- package/src/svg/cells/travel_agency.svg +0 -199
- package/src/svg/cells/triple_step.svg +0 -271
- package/src/svg/cells/war_factory.svg +0 -225
- package/src/svg/cells/will_not_bring_profit.svg +0 -168
- package/src/svg/index.js +0 -1673
- package/src/svg/others/circle_is_done.svg +0 -101
- package/src/svg/others/confetti.svg +0 -3
- package/src/svg/others/disconnect.svg +0 -21
- package/src/svg/others/flag.svg +0 -155
- package/src/svg/others/lost.svg +0 -3
- package/src/svg/others/question_marks.svg +0 -33
- package/src/svg/others/slippery-path-snake.svg +0 -117
- package/src/svg/others/star.svg +0 -33
- package/src/svg/others/surrender.svg +0 -24
- package/src/svg/others/winner.svg +0 -3
- package/src/western-world-build-svg-arrows.helpers.js +0 -42
- package/src/western-world-build-svg.helpers.js +0 -132
- package/src/western-world-images-loader.js +0 -109
- package/src/western-world.component.js +0 -185
- package/src/western-world.utils.constants.js +0 -77
- package/src/western-world.utils.helpers.js +0 -93
- package/src/western-world.utils.js +0 -132
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { others } from './svg';
|
|
2
|
-
import { cells } from './svg';
|
|
3
|
-
import { buildArrowByCoordinates } from './western-world-build-svg-arrows.helpers';
|
|
4
|
-
import { languageSvgStyles, globalSvgStyles, ARROW_CSS } from './western-world.utils.constants';
|
|
5
|
-
import { getPathByCell, buildImageForCanvasFromHtmlStr, getMaskStyles } from './western-world.utils.helpers';
|
|
6
|
-
|
|
7
|
-
const parser = new DOMParser();
|
|
8
|
-
|
|
9
|
-
export const buildNewSvgImages = ({ allCells, language }) => {
|
|
10
|
-
return Promise.all(
|
|
11
|
-
allCells
|
|
12
|
-
.filter(cell => cell.id)
|
|
13
|
-
.map(cell => {
|
|
14
|
-
return Promise.all([
|
|
15
|
-
buildSvgAndImageByHtml({
|
|
16
|
-
name: cell.animatedImage,
|
|
17
|
-
elRequire: cells[cell.animatedImage],
|
|
18
|
-
cell,
|
|
19
|
-
language,
|
|
20
|
-
withMask: true
|
|
21
|
-
}).then(({ img, svgTag }) => {
|
|
22
|
-
window.cachedImages[language].svgTags[cell.animatedImage] = svgTag;
|
|
23
|
-
window.cachedImages[language].svgTags[cell.id] = svgTag;
|
|
24
|
-
window.cachedImages[language].svgImagesForCanvas[cell.animatedImage] = img;
|
|
25
|
-
window.cachedImages[language].svgImagesForCanvas[cell.id] = img;
|
|
26
|
-
}),
|
|
27
|
-
buildSvgAndImageByHtml({
|
|
28
|
-
name: cell.animatedImage,
|
|
29
|
-
elRequire: cells[cell.animatedImage],
|
|
30
|
-
cell,
|
|
31
|
-
language,
|
|
32
|
-
withMask: false,
|
|
33
|
-
parser
|
|
34
|
-
}).then(({ img }) => {
|
|
35
|
-
window.cachedImages[language].svgImagesWithoutMasks[cell.animatedImage] = img;
|
|
36
|
-
window.cachedImages[language].svgImagesWithoutMasks[cell.id] = img;
|
|
37
|
-
})
|
|
38
|
-
]);
|
|
39
|
-
})
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const buildOtherSvgImages = ({ language }) => {
|
|
44
|
-
return Promise.all(
|
|
45
|
-
Object.keys(others).map(name => {
|
|
46
|
-
return buildSvgAndImageByHtml({
|
|
47
|
-
name,
|
|
48
|
-
elRequire: others[name],
|
|
49
|
-
cell: null,
|
|
50
|
-
language,
|
|
51
|
-
withMask: false
|
|
52
|
-
}).then(({ img, svgTag }) => {
|
|
53
|
-
window.cachedImages[language].svgTags[name] = svgTag;
|
|
54
|
-
window.cachedImages[language].svgImagesForCanvas[name] = img;
|
|
55
|
-
window.cachedImages[language].svgImagesWithoutMasks[name] = img;
|
|
56
|
-
});
|
|
57
|
-
})
|
|
58
|
-
);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const buildSvgAndImageByHtml = ({ name, elRequire, cell, language, withMask }) => {
|
|
62
|
-
// get svg image from file and apply offsets;
|
|
63
|
-
const doc = parser.parseFromString(elRequire.svg, 'image/svg+xml');
|
|
64
|
-
const svgEl = doc.querySelector('svg');
|
|
65
|
-
svgEl.classList.add(name);
|
|
66
|
-
|
|
67
|
-
// create svg style element;
|
|
68
|
-
const styleElement = svgEl.querySelector('svg > style');
|
|
69
|
-
if (styleElement) {
|
|
70
|
-
styleElement.insertAdjacentHTML('beforeend', `${globalSvgStyles} ${languageSvgStyles} ${elRequire.css}`);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// create new <g> and move all content to it to apply mask;
|
|
74
|
-
const gElement = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
75
|
-
gElement.setAttribute('class', language);
|
|
76
|
-
const allSvgImageContent = svgEl.querySelectorAll('svg > *:not(style)');
|
|
77
|
-
[...allSvgImageContent].forEach(el => gElement.appendChild(el));
|
|
78
|
-
|
|
79
|
-
// create defs element;
|
|
80
|
-
const defsElement = document.createElementNS('http://www.w3.org/2000/svg', 'defs');
|
|
81
|
-
defsElement.innerHTML = elRequire.defs ? elRequire.defs.map(el => el.value).join(' ') : '';
|
|
82
|
-
|
|
83
|
-
if (withMask) {
|
|
84
|
-
const cellPath = getPathByCell(name, cell);
|
|
85
|
-
const cellPathSymbol = `<symbol id="path-border-${name}" viewBox="0 0 1 1">${cellPath}</symbol>`;
|
|
86
|
-
// TODO probably don't need mask, clipPath would be enough;
|
|
87
|
-
const mask = `
|
|
88
|
-
<mask id="mask-${name}">
|
|
89
|
-
<use xlink:href="#path-border-${name}" class="use-mask"></use>
|
|
90
|
-
<use xlink:href="#additional-mask" class="use-additional-mask"></use>
|
|
91
|
-
</mask>
|
|
92
|
-
`;
|
|
93
|
-
const clipPath = `<clipPath id="clip-path-${name}" clipPathUnits="objectBoundingBox">${cellPath}</clipPath>`;
|
|
94
|
-
gElement.setAttribute('mask', `url(#mask-${name})`);
|
|
95
|
-
styleElement.insertAdjacentHTML('beforeend', getMaskStyles(cell));
|
|
96
|
-
defsElement.insertAdjacentHTML('beforeend', `${cellPathSymbol} ${mask} ${clipPath}`);
|
|
97
|
-
|
|
98
|
-
// create use border path;
|
|
99
|
-
const svgUseBorderElement = document.createElementNS('http://www.w3.org/2000/svg', 'use');
|
|
100
|
-
svgUseBorderElement.setAttribute('xlink:href', `#path-border-${name}`);
|
|
101
|
-
svgUseBorderElement.setAttribute('class', 'use-border');
|
|
102
|
-
svgEl.appendChild(svgUseBorderElement);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
svgEl.appendChild(defsElement);
|
|
106
|
-
svgEl.appendChild(gElement);
|
|
107
|
-
return buildImageForCanvasFromHtmlStr(svgEl.outerHTML).then(img => {
|
|
108
|
-
img.defs = elRequire.defs ? [...elRequire.defs] : null;
|
|
109
|
-
return { svgTag: svgEl.outerHTML, img };
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
export const buildOtherGenerate = ({ language, othersGenerate }) => {
|
|
114
|
-
return Promise.all(
|
|
115
|
-
othersGenerate.map(({ arrowCoordinates, key, arrowStrokeWidth }) =>
|
|
116
|
-
buildSvgAndImageByHtml({
|
|
117
|
-
name: key,
|
|
118
|
-
elRequire: {
|
|
119
|
-
svg: buildArrowByCoordinates({ arrowCoordinates, arrowStrokeWidth }),
|
|
120
|
-
css: ARROW_CSS
|
|
121
|
-
},
|
|
122
|
-
cell: null,
|
|
123
|
-
language,
|
|
124
|
-
withMask: false
|
|
125
|
-
}).then(({ img, svgTag }) => {
|
|
126
|
-
window.cachedImages[language].svgTags[key] = svgTag;
|
|
127
|
-
window.cachedImages[language].svgImagesForCanvas[key] = img;
|
|
128
|
-
window.cachedImages[language].svgImagesWithoutMasks[key] = img;
|
|
129
|
-
})
|
|
130
|
-
)
|
|
131
|
-
);
|
|
132
|
-
};
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { buildNewSvgImages, buildOtherGenerate, buildOtherSvgImages } from './western-world-build-svg.helpers';
|
|
2
|
-
|
|
3
|
-
// resolvers;
|
|
4
|
-
let newSvgImagesResolve = {
|
|
5
|
-
en: null,
|
|
6
|
-
ru: null,
|
|
7
|
-
uk: null
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
// resolvers;
|
|
11
|
-
// let newSvgImagesWithoutMasksResolve = {
|
|
12
|
-
// en: null,
|
|
13
|
-
// ru: null,
|
|
14
|
-
// uk: null,
|
|
15
|
-
// };
|
|
16
|
-
|
|
17
|
-
let otherSvgImagesResolve = {
|
|
18
|
-
en: null,
|
|
19
|
-
ru: null,
|
|
20
|
-
uk: null
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const getDefaultScheme = () => {
|
|
24
|
-
return {
|
|
25
|
-
en: {
|
|
26
|
-
svgTags: {},
|
|
27
|
-
svgImagesForCanvas: {},
|
|
28
|
-
svgImagesWithoutMasks: {},
|
|
29
|
-
avatarsMapForCanvas: {},
|
|
30
|
-
currentPromise: null,
|
|
31
|
-
resolver: {
|
|
32
|
-
all: Promise.all([
|
|
33
|
-
new Promise(resolve => (newSvgImagesResolve['en'] = resolve)),
|
|
34
|
-
new Promise(resolve => (otherSvgImagesResolve['en'] = resolve))
|
|
35
|
-
])
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
ru: {
|
|
39
|
-
svgTags: {},
|
|
40
|
-
svgImagesForCanvas: {},
|
|
41
|
-
svgImagesWithoutMasks: {},
|
|
42
|
-
avatarsMapForCanvas: {},
|
|
43
|
-
currentPromise: null,
|
|
44
|
-
resolver: {
|
|
45
|
-
all: Promise.all([
|
|
46
|
-
new Promise(resolve => (newSvgImagesResolve['ru'] = resolve)),
|
|
47
|
-
new Promise(resolve => (otherSvgImagesResolve['ru'] = resolve))
|
|
48
|
-
])
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
uk: {
|
|
52
|
-
svgTags: {},
|
|
53
|
-
svgImagesForCanvas: {},
|
|
54
|
-
svgImagesWithoutMasks: {},
|
|
55
|
-
avatarsMapForCanvas: {},
|
|
56
|
-
currentPromise: null,
|
|
57
|
-
resolver: {
|
|
58
|
-
all: Promise.all([
|
|
59
|
-
new Promise(resolve => (newSvgImagesResolve['uk'] = resolve)),
|
|
60
|
-
new Promise(resolve => (otherSvgImagesResolve['uk'] = resolve))
|
|
61
|
-
])
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
window['cachedImages'] = getDefaultScheme();
|
|
68
|
-
|
|
69
|
-
const clearCache = () => {
|
|
70
|
-
console.log('[Western-world] Clear image cache...');
|
|
71
|
-
window['cachedImages'] = window['cachedImages'] = getDefaultScheme();
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
// TODO split to different functions;
|
|
75
|
-
const fetchImages = ({ language, allCells, othersGenerate }) => {
|
|
76
|
-
if (!othersGenerate) {
|
|
77
|
-
console.warn('No othersGenerate!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
|
|
78
|
-
}
|
|
79
|
-
if (!allCells) {
|
|
80
|
-
console.warn('No allCells!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
|
|
81
|
-
}
|
|
82
|
-
console.log('[Western-world] Try to fetch images...');
|
|
83
|
-
if (
|
|
84
|
-
Object.keys(window['cachedImages'][language].svgTags).length &&
|
|
85
|
-
Object.keys(window['cachedImages'][language].svgImagesForCanvas).length &&
|
|
86
|
-
Object.keys(window['cachedImages'][language].svgImagesWithoutMasks).length
|
|
87
|
-
) {
|
|
88
|
-
return Promise.resolve(window['cachedImages'][language]);
|
|
89
|
-
}
|
|
90
|
-
if (window['cachedImages'][language].currentPromise) {
|
|
91
|
-
return window['cachedImages'][language].currentPromise;
|
|
92
|
-
}
|
|
93
|
-
console.log('[Western-world] Start fetching images...');
|
|
94
|
-
window['cachedImages'][language].currentPromise = Promise.all([
|
|
95
|
-
buildNewSvgImages({ allCells, language }).then(newSvgImagesResolve[language]),
|
|
96
|
-
Promise.all([buildOtherSvgImages({ language }), buildOtherGenerate({ language, othersGenerate })]).then(
|
|
97
|
-
otherSvgImagesResolve[language]
|
|
98
|
-
)
|
|
99
|
-
]).then(() => {
|
|
100
|
-
console.log('[Western-world] Images were loaded...');
|
|
101
|
-
return window.cachedImages[language];
|
|
102
|
-
});
|
|
103
|
-
return window['cachedImages'][language].currentPromise;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
window['western-world-utils'] = {
|
|
107
|
-
fetchImages,
|
|
108
|
-
clearCache
|
|
109
|
-
};
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { buildPlayerAvatars, drawAllNewCells, drawOthers, drawFlags } from './western-world.utils';
|
|
2
|
-
import { ORIGINAL_WESTERN_WORLD_HEIGHT, ORIGINAL_WESTERN_WORLD_WIDTH } from './western-world.utils.constants';
|
|
3
|
-
import { shouldRedraw } from './western-world.utils.helpers';
|
|
4
|
-
|
|
5
|
-
const template = document.createElement('template');
|
|
6
|
-
template.innerHTML = `
|
|
7
|
-
<style>
|
|
8
|
-
:host {
|
|
9
|
-
display: block;
|
|
10
|
-
position: relative;
|
|
11
|
-
}
|
|
12
|
-
canvas {
|
|
13
|
-
width: 100%;
|
|
14
|
-
top: 0;
|
|
15
|
-
left: 0;
|
|
16
|
-
transition: filter 0.5s;
|
|
17
|
-
}
|
|
18
|
-
.flags {
|
|
19
|
-
position: absolute;
|
|
20
|
-
top: 0;
|
|
21
|
-
left: 0;
|
|
22
|
-
}
|
|
23
|
-
</style>
|
|
24
|
-
|
|
25
|
-
<canvas class="constant"></canvas>
|
|
26
|
-
<canvas class="flags"></canvas>
|
|
27
|
-
`;
|
|
28
|
-
|
|
29
|
-
class WesternWorld extends window['WesternBaseHTMLElement'] {
|
|
30
|
-
// Inputs:
|
|
31
|
-
// game;
|
|
32
|
-
// allCells;
|
|
33
|
-
// myIdKey;
|
|
34
|
-
// playersIconMap;
|
|
35
|
-
// showWesternBackground;
|
|
36
|
-
// SIZE_X_QUALITY;
|
|
37
|
-
// PADDING_LEFT;
|
|
38
|
-
// PADDING_RIGHT;
|
|
39
|
-
// PADDING_TOP;
|
|
40
|
-
// PADDING_BOTTOM;
|
|
41
|
-
// language;
|
|
42
|
-
|
|
43
|
-
// interface { fileName: 'start', x: number, y: number, size: number, onTopOfCells: boolean }
|
|
44
|
-
// others
|
|
45
|
-
|
|
46
|
-
// Outputs:
|
|
47
|
-
// allImagesLoaded
|
|
48
|
-
|
|
49
|
-
constructor() {
|
|
50
|
-
super();
|
|
51
|
-
this._shadowRoot = this.attachShadow({ mode: 'open' });
|
|
52
|
-
this._shadowRoot.appendChild(template.content.cloneNode(true));
|
|
53
|
-
this.$canvasConstant = this._shadowRoot.querySelector('canvas.constant');
|
|
54
|
-
this.$canvasFlags = this._shadowRoot.querySelector('canvas.flags');
|
|
55
|
-
this.state = {
|
|
56
|
-
language: null,
|
|
57
|
-
showWesternBackground: null,
|
|
58
|
-
allCells: null,
|
|
59
|
-
game: null
|
|
60
|
-
};
|
|
61
|
-
this.detectChangesInprogress = false;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
areAllInitialized() {
|
|
65
|
-
return (
|
|
66
|
-
this.state.language && this.state.showWesternBackground !== undefined && this.state.game && this.state.allCells
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
set language(value) {
|
|
71
|
-
this.setState('language', value);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
set showWesternBackground(value) {
|
|
75
|
-
this.setState('showWesternBackground', value);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
set allCells(value) {
|
|
79
|
-
this.setState('allCells', value);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
set game(value) {
|
|
83
|
-
// Refetch all images for any new game because template cells can be different;
|
|
84
|
-
// if (value.game_id !== this.state.game?.game_id) {
|
|
85
|
-
// console.log('[Western-world] Clear image cache...');
|
|
86
|
-
// ['en', 'ru', 'uk'].forEach(language => {
|
|
87
|
-
// window['cachedImages'][language].currentPromise = null;
|
|
88
|
-
// window['cachedImages'][language].svgTags = [];
|
|
89
|
-
// window['cachedImages'][language].svgImagesForCanvas = [];
|
|
90
|
-
// window['cachedImages'][language].svgImagesWithoutMasks = [];
|
|
91
|
-
// });
|
|
92
|
-
// }
|
|
93
|
-
if (shouldRedraw(value, this.state.game)) {
|
|
94
|
-
this.setState('game', value);
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
// if game object doesn't effect western-world canvas don't need setState that rerenders, just save game to the state without rerendering;
|
|
98
|
-
this.state.game = value;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
render({ changes }) {
|
|
102
|
-
window['western-world-utils']
|
|
103
|
-
.fetchImages({
|
|
104
|
-
language: this.state.language,
|
|
105
|
-
allCells: this.state.allCells,
|
|
106
|
-
othersGenerate: this.othersGenerate
|
|
107
|
-
})
|
|
108
|
-
.then(() =>
|
|
109
|
-
this.dispatchEvent(new CustomEvent('allImagesLoaded', { detail: window.cachedImages[this.state.language] }))
|
|
110
|
-
)
|
|
111
|
-
.then(() => buildPlayerAvatars({ avatars: this.playersIconMap, language: this.state.language }))
|
|
112
|
-
.then(() => {
|
|
113
|
-
if (changes.language || changes.showWesternBackground) {
|
|
114
|
-
this.drawWesternWorld();
|
|
115
|
-
this.dispatchEvent(new CustomEvent('finishedRendering'));
|
|
116
|
-
}
|
|
117
|
-
this.drawFlagsCanvas();
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
drawWesternWorld() {
|
|
122
|
-
this.$canvasConstant.width =
|
|
123
|
-
ORIGINAL_WESTERN_WORLD_WIDTH * this.SIZE_X_QUALITY + this.PADDING_LEFT + this.PADDING_RIGHT;
|
|
124
|
-
this.$canvasConstant.height =
|
|
125
|
-
ORIGINAL_WESTERN_WORLD_HEIGHT * this.SIZE_X_QUALITY + this.PADDING_TOP + this.PADDING_BOTTOM;
|
|
126
|
-
const ctx = this.$canvasConstant.getContext('2d');
|
|
127
|
-
|
|
128
|
-
if (this.state.showWesternBackground && this.others) {
|
|
129
|
-
this.$canvasConstant.style.background = 'white';
|
|
130
|
-
drawOthers({
|
|
131
|
-
ctx,
|
|
132
|
-
others: this.others.filter(el => !el.onTopOfCells),
|
|
133
|
-
SIZE_X_QUALITY: this.SIZE_X_QUALITY,
|
|
134
|
-
PADDING_LEFT: this.PADDING_LEFT,
|
|
135
|
-
PADDING_TOP: this.PADDING_TOP,
|
|
136
|
-
language: this.state.language
|
|
137
|
-
});
|
|
138
|
-
} else {
|
|
139
|
-
this.$canvasConstant.style.background = 'transparent';
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// append all new images;
|
|
143
|
-
drawAllNewCells({
|
|
144
|
-
allCells: this.state.allCells,
|
|
145
|
-
ctx,
|
|
146
|
-
SIZE_X_QUALITY: this.SIZE_X_QUALITY,
|
|
147
|
-
PADDING_LEFT: this.PADDING_LEFT,
|
|
148
|
-
PADDING_TOP: this.PADDING_TOP,
|
|
149
|
-
language: this.state.language
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
if (this.state.showWesternBackground && this.others) {
|
|
153
|
-
this.$canvasConstant.style.background = 'white';
|
|
154
|
-
drawOthers({
|
|
155
|
-
ctx,
|
|
156
|
-
others: this.others.filter(el => el.onTopOfCells),
|
|
157
|
-
SIZE_X_QUALITY: this.SIZE_X_QUALITY,
|
|
158
|
-
PADDING_LEFT: this.PADDING_LEFT,
|
|
159
|
-
PADDING_TOP: this.PADDING_TOP,
|
|
160
|
-
language: this.state.language
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
drawFlagsCanvas() {
|
|
166
|
-
const ctxFlags = this.$canvasFlags.getContext('2d');
|
|
167
|
-
this.$canvasFlags.width =
|
|
168
|
-
ORIGINAL_WESTERN_WORLD_WIDTH * this.SIZE_X_QUALITY + this.PADDING_LEFT + this.PADDING_RIGHT;
|
|
169
|
-
this.$canvasFlags.height =
|
|
170
|
-
ORIGINAL_WESTERN_WORLD_HEIGHT * this.SIZE_X_QUALITY + this.PADDING_TOP + this.PADDING_BOTTOM;
|
|
171
|
-
// draw flags;
|
|
172
|
-
drawFlags({
|
|
173
|
-
allCells: this.state.allCells,
|
|
174
|
-
ctx: ctxFlags,
|
|
175
|
-
game: this.state.game,
|
|
176
|
-
myIdKey: this.myIdKey,
|
|
177
|
-
SIZE_X_QUALITY: this.SIZE_X_QUALITY,
|
|
178
|
-
PADDING_LEFT: this.PADDING_LEFT,
|
|
179
|
-
PADDING_TOP: this.PADDING_TOP,
|
|
180
|
-
language: this.state.language
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
customElements.get('western-world') || window.customElements.define('western-world', WesternWorld);
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
export const ORIGINAL_WESTERN_WORLD_WIDTH = 3029;
|
|
2
|
-
export const ORIGINAL_WESTERN_WORLD_HEIGHT = 1306;
|
|
3
|
-
|
|
4
|
-
export const backgroundsArr = ['background', 'forest', 'start', 'desert', 'progress'];
|
|
5
|
-
|
|
6
|
-
export const globalSvgStyles = `
|
|
7
|
-
.d-none{display:none;}
|
|
8
|
-
.animated .d-none-animated{display:none;}
|
|
9
|
-
.d-none-non-animated{display:none;}
|
|
10
|
-
.animated .d-none-non-animated{display:block;}
|
|
11
|
-
`;
|
|
12
|
-
|
|
13
|
-
export const languageSvgStyles = `
|
|
14
|
-
.en [id^="en"] {display: block}
|
|
15
|
-
.ru [id^="ru"] {display: block}
|
|
16
|
-
.uk [id^="uk"] {display: block}
|
|
17
|
-
.ru [id^="ruuk"] {display: block}
|
|
18
|
-
.uk [id^="ruuk"] {display: block}
|
|
19
|
-
`;
|
|
20
|
-
|
|
21
|
-
export const maskStyles = `
|
|
22
|
-
use.use-mask {
|
|
23
|
-
fill: white;
|
|
24
|
-
}
|
|
25
|
-
use.use-additional-mask {
|
|
26
|
-
fill: white;
|
|
27
|
-
stroke: white;
|
|
28
|
-
stroke-width: 20px;
|
|
29
|
-
}
|
|
30
|
-
`;
|
|
31
|
-
|
|
32
|
-
export const myFlagSvgStyles = `
|
|
33
|
-
.flag_st0 {fill: #00ff2f !important}
|
|
34
|
-
`;
|
|
35
|
-
|
|
36
|
-
export const enemyFlagSvgStyles = `
|
|
37
|
-
.flag_st0 {fill: #f44b3f !important}
|
|
38
|
-
`;
|
|
39
|
-
|
|
40
|
-
export const flagStarsStyles = {
|
|
41
|
-
0: '',
|
|
42
|
-
1: `
|
|
43
|
-
#star-1 {display: block}
|
|
44
|
-
`,
|
|
45
|
-
2: `
|
|
46
|
-
#star-1, #star-2 {display: block}
|
|
47
|
-
`,
|
|
48
|
-
3: `
|
|
49
|
-
#star-1, #star-2, #star-3 {display: block}
|
|
50
|
-
`,
|
|
51
|
-
4: `
|
|
52
|
-
#star-1, #star-2, #star-3, #star-4 {display: block}
|
|
53
|
-
`,
|
|
54
|
-
5: `
|
|
55
|
-
#star-1, #star-2, #star-3, #star-4, #star-5 {display: block}
|
|
56
|
-
`
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const BORDER_WIDTH_CONST = 1.2;
|
|
60
|
-
|
|
61
|
-
export const ARROW_CSS = `
|
|
62
|
-
.animated .d-none-non-animated {
|
|
63
|
-
stroke-dashoffset: 0px;
|
|
64
|
-
stroke-dasharray: 100px 600px;
|
|
65
|
-
stroke: white;
|
|
66
|
-
animation-name: arrow_animation;
|
|
67
|
-
animation-duration: 10s;
|
|
68
|
-
animation-iteration-count: infinite;
|
|
69
|
-
animation-timing-function: linear;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
@keyframes arrow_animation {
|
|
73
|
-
to {
|
|
74
|
-
stroke-dashoffset: -6000px;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
`;
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { BORDER_WIDTH_CONST, maskStyles } from './western-world.utils.constants';
|
|
2
|
-
|
|
3
|
-
export const getPathDByData = dData => {
|
|
4
|
-
return dData.reduce((previousValue, el) => {
|
|
5
|
-
switch (el.type) {
|
|
6
|
-
case 'M':
|
|
7
|
-
return (previousValue += `M${el.x} ${el.y} `);
|
|
8
|
-
case 'L':
|
|
9
|
-
return (previousValue += `L${el.x} ${el.y} `);
|
|
10
|
-
case 'Q':
|
|
11
|
-
return (previousValue += `Q${el.x} ${el.y} ${el.x1} ${el.y1}`);
|
|
12
|
-
case 'Z':
|
|
13
|
-
return (previousValue += `Z`);
|
|
14
|
-
}
|
|
15
|
-
}, '');
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export const getPathByCell = (name, cell) => {
|
|
19
|
-
if (cell.svg.type === 'path') {
|
|
20
|
-
const d = getPathDByData(cell.svg.dData);
|
|
21
|
-
return `<path d="${d}"></path>`;
|
|
22
|
-
}
|
|
23
|
-
if (cell.svg.type === 'circle') {
|
|
24
|
-
return `<circle id="path-border-${name}" cx="${cell.svg.cx}" cy="${cell.svg.cy}" r="${cell.svg.r}"></circle>`;
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export const getImageByUrl = url => {
|
|
29
|
-
return new Promise(resolve => {
|
|
30
|
-
const img = new Image();
|
|
31
|
-
img.src = url;
|
|
32
|
-
img.onload = () => {
|
|
33
|
-
resolve(img);
|
|
34
|
-
};
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export const buildImageForCanvasFromHtmlStr = htmlStr => {
|
|
39
|
-
return new Promise(resolve => {
|
|
40
|
-
const DOMURL = window.URL || window;
|
|
41
|
-
const img = new Image();
|
|
42
|
-
const svgBlob = new Blob([htmlStr], { type: 'image/svg+xml' });
|
|
43
|
-
const url = DOMURL.createObjectURL(svgBlob);
|
|
44
|
-
img.onload = () => {
|
|
45
|
-
DOMURL.revokeObjectURL(img);
|
|
46
|
-
resolve(img);
|
|
47
|
-
};
|
|
48
|
-
img.src = url;
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export const didStarsChange = (currentGameValue, previousGameValue) => {
|
|
53
|
-
return Object.keys(currentGameValue.stocks).some(
|
|
54
|
-
firmId => currentGameValue.stocks[firmId].stars !== previousGameValue.stocks[firmId].stars
|
|
55
|
-
);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export const shouldRedraw = (currentGameValue, previousGameValue) => {
|
|
59
|
-
if (!previousGameValue) {
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
let isPlayersFirmsChanged;
|
|
63
|
-
|
|
64
|
-
// deep compare player's firms;
|
|
65
|
-
if (previousGameValue) {
|
|
66
|
-
isPlayersFirmsChanged = previousGameValue.players_order.some(playerIdKey => {
|
|
67
|
-
if (!currentGameValue.players[playerIdKey]) {
|
|
68
|
-
// player was droped or lost;
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
return (
|
|
72
|
-
currentGameValue.players[playerIdKey].firms.length !== previousGameValue.players[playerIdKey].firms.length ||
|
|
73
|
-
didStarsChange(currentGameValue, previousGameValue)
|
|
74
|
-
);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return isPlayersFirmsChanged;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
export const getMaskStyles = cell => {
|
|
82
|
-
const borderWidth = BORDER_WIDTH_CONST / cell.location.size;
|
|
83
|
-
const borderMaskStylesByCell = `
|
|
84
|
-
use.use-border {
|
|
85
|
-
stroke: black;
|
|
86
|
-
stroke-width: ${borderWidth}px;
|
|
87
|
-
}
|
|
88
|
-
`;
|
|
89
|
-
return `
|
|
90
|
-
${maskStyles}
|
|
91
|
-
${borderMaskStylesByCell}
|
|
92
|
-
`;
|
|
93
|
-
};
|