-
Notifications
You must be signed in to change notification settings - Fork 1
/
annotations.lua
2544 lines (1921 loc) · 71.8 KB
/
annotations.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-- luacheck: ignore
---@class app
local app = {}
--- Clear the app state or the app value
---@param value unknown
function app.clear(value) end
---@class eva
---@field ads eva.ads Submodule
---@field callbacks eva.callbacks Submodule
---@field camera eva.camera Submodule
---@field daily eva.daily Submodule
---@field db eva.db Submodule
---@field device eva.device Submodule
---@field events eva.events Submodule
---@field feature eva.feature Submodule
---@field festivals eva.festivals Submodule
---@field game eva.game Submodule
---@field gdpr eva.gdpr Submodule
---@field grid eva.grid Submodule
---@field hexgrid eva.hexgrid Submodule
---@field iaps eva.iaps Submodule
---@field input eva.input Submodule
---@field invoices eva.invoices Submodule
---@field isogrid eva.isogrid Submodule
---@field labels eva.labels Submodule
---@field lang eva.lang Submodule
---@field migrations eva.migrations Submodule
---@field offers eva.offers Submodule
---@field pathfinder eva.pathfinder Submodule
---@field promocode eva.promocode Submodule
---@field proto eva.proto Submodule
---@field push eva.push Submodule
---@field quests eva.quests Submodule
---@field rate eva.rate Submodule
---@field rating eva.rating Submodule
---@field render eva.render Submodule
---@field saver eva.saver Submodule
---@field server eva.server Submodule
---@field share eva.share Submodule
---@field skill eva.skill Submodule
---@field sound eva.sound Submodule
---@field storage eva.storage Submodule
---@field tiled eva.tiled Submodule
---@field timers eva.timers Submodule
---@field token eva.token Submodule
---@field trucks eva.trucks Submodule
---@field utils eva.utils Submodule
---@field vibrate eva.vibrate Submodule
---@field wallet eva.wallet Submodule
---@field window eva.window Submodule
local eva = {}
--- Return logger from eva.log module
---@param logger_name string[opt=default] The logger name
---@return logger The logger instance
function eva.get_logger(logger_name) end
--- Call this to init Eva module
---@param settings_path string path to eva_settings.json
---@param module_settings table Settings to modules. See description on eva.lua
function eva.init(settings_path, module_settings) end
--- Call this on main update loop
---@param dt number delta time
function eva.update(dt) end
---@class eva.ads
local eva__ads = {}
--- Return current ads adapter name
---@return string The adapter name
function eva__ads.get_adapter_name() end
--- Return seconds when placement will be ready
---@param ad_id string The Ad placement id
---@param The number amount in seconds
---@return number The seconds amount until ads available
function eva__ads.get_time_to_ready(ad_id, The) end
--- Get total ads watched
---@param Total number watched ads count
function eva__ads.get_watched(Total) end
--- Check is ads are blocked with network or tokens for player
---@param ad_id string The Ad placement id
function eva__ads.is_blocked(ad_id) end
--- Check ads is enabled
---@return bool is ads enabled
function eva__ads.is_enabled() end
--- Check is ads are ready to show now
---@param ad_id string The Ad placement id
function eva__ads.is_ready(ad_id) end
--- Set enabled ads state
---@param state boolean ads state
function eva__ads.set_enabled(state) end
--- Show ad by placement id
---@param ad_id string The Ad placement id
---@param success_callback function The success callback
---@param finish_callback function The ads finish callback
function eva__ads.show(ad_id, success_callback, finish_callback) end
---@class eva.callbacks
local eva__callbacks = {}
--- Call wrapped callback
---@param index number Index of wrapped callback
---@param ... args Args of calling callback
function eva__callbacks.call(index, ...) end
--- Clear callback
---@param index number Index of wrapped callback
function eva__callbacks.clear(index) end
--- Wrap callback It return index for callback, You can call it now via eva.callbacks.call(index, ...)
---@param callback function Callback to wrap
---@return number index New index of wrapped callback
function eva__callbacks.create(callback) end
---@class eva.camera
local eva__camera = {}
--- Get the camera position
---@return number x X position
---@return number y Y position
function eva__camera.get_position() end
--- Get the camera zoom
---@return number zoom
function eva__camera.get_zoom() end
--- Set the borders of the camera zone
---@param border_soft vector4 Soft zones of camera. Order is: left-top-right-bot.
---@param border_hard vector4 Hard zones of camera. Order is: left-top-right-bot.
function eva__camera.set_borders(border_soft, border_hard) end
--- Set the camera game object and size of the camera
---@param cam_id string url of camera game object
---@param camera_box vector3 size of the camera at zoom=1
function eva__camera.set_camera(cam_id, camera_box) end
--- Enable or disable camera user control
---@param enabled boolean state
function eva__camera.set_control(enabled) end
--- Set the camera position
---@param x number X position
---@param y number Y position
function eva__camera.set_position(x, y) end
--- Set target camera position
---@param x number X position
---@param y number Y position
---@param callback function Callback function
function eva__camera.set_target_position(x, y, callback) end
--- Set the camera target zoom
---@param zoom number Target zoom
function eva__camera.set_target_zoom(zoom) end
--- Set the camera zoom
---@param zoom number Zoom
function eva__camera.set_zoom(zoom) end
--- Set the camera game object and size of the camera
---@param zoom_soft vector3 Setup zoom soft values. vector3(min_value, max_value, 0)
---@param zoom_hard vector3 Setup zoom hard values. vector3(min_value, max_value, 0)
function eva__camera.set_zoom_borders(zoom_soft, zoom_hard) end
--- Eva camera update should be called manually Due the it uses context go.set_position
---@param dt number Delta time
function eva__camera.update(dt) end
---@class eva.daily
local eva__daily = {}
--- Return current state
---@return table Array with booleans to show picked rewards
function eva__daily.get_current_state() end
--- Return time until you can pickup prize
function eva__daily.get_time() end
--- Return time until you can lose the unpicked reward
function eva__daily.get_wait_time() end
--- Return is active now daily system
function eva__daily.is_active() end
--- Pick current prize
function eva__daily.pick() end
--- Set active daily system It will reset last pick time
function eva__daily.set_active() end
---@class eva.db
local eva__db = {}
--- Return config by config_name
---@param config_name string Config name from eva settings
---@return table Config table
function eva__db.get(config_name) end
--- Can override db with custom tables (useful for tests)
---@param settings table Custom db settings
function eva__db.set_settings(settings) end
---@class eva.device
local eva__device = {}
--- Return device id.
--- If device_id is empty, it will generate device_id with uuid library. And store it on file
---@return string device_id
function eva__device.get_device_id() end
--- Return device_info
function eva__device.get_device_info() end
--- Return device region.
--- If region is unknown, it will return "UN".
---@return string region
function eva__device.get_region() end
--- Generate uuid
---@param except table list of uuid, what not need to be generated
---@return string the uuid
function eva__device.get_uuid(except) end
--- Check if device on android
function eva__device.is_android() end
--- Check if device is desktop (Windows/MacOS)
function eva__device.is_desktop() end
--- Check if device on iOS
function eva__device.is_ios() end
--- Check if device is native mobile (Android or iOS)
function eva__device.is_mobile() end
--- Check if device is HTML5
function eva__device.is_web() end
--- Check if device is HTML5 mobile
function eva__device.is_web_mobile() end
---@class eva.events
local eva__events = {}
--- Throws the game event
---@param event string name of event
---@param params table params
function eva__events.event(event, params) end
--- Check if callback is already subscribed
---@param event_name string Event name
---@param callback function Event callback
function eva__events.is_subscribed(event_name, callback) end
--- Setup current game screen
---@param screen_id string screen id
function eva__events.screen(screen_id) end
--- Subscribe the callback on event
---@param event_name string Event name
---@param callback function Event callback
---@param callback_context table The first param for callback on fire
function eva__events.subscribe(event_name, callback, callback_context) end
--- Subscribe the pack of events by map
---@param map table {Event = Callback} map
function eva__events.subscribe_map(map) end
--- Unsubscribe the event from events flow
---@param event_name string Event name
---@param callback function Event callback
function eva__events.unsubscribe(event_name, callback) end
--- Unsubscribe the pack of events by map
---@param map table {Event = Callback} map
function eva__events.unsubscribe_map(map) end
---@class eva.feature
local eva__feature = {}
--- Start eva feature system.
--- Need to call, when game is prepared for features
function eva__feature.start() end
--- Toggle manually feature
---@param feature_name string Feature name
---@param state bool Feature state
function eva__feature.toggle(feature_name, state) end
---@class eva.festivals
local eva__festivals = {}
--- End festival without check any condition
---@param festival_id string Festival id from Festivals json
function eva__festivals.debug_end_festival(festival_id) end
--- Start festival without check any condition
---@param festival_id string Festival id from Festivals json
function eva__festivals.debug_start_festival(festival_id) end
--- Return completed festivals
---@return table array of completed festivals
function eva__festivals.get_completed() end
--- Return current festivals
---@return table array of current festivals
function eva__festivals.get_current() end
--- Return next end time for festival_id
---@param festival_id string Festival id from Festivals json
---@return number Time in seconds since epoch
function eva__festivals.get_end_time(festival_id) end
--- Return next start time for festival_id
---@param festival_id string Festival id from Festivals json
---@return number Time in seconds since epoch
function eva__festivals.get_start_time(festival_id) end
--- Return is festival is active now
---@param festival_id string Festival id from Festivals json
---@return bool Current festival state
function eva__festivals.is_active(festival_id) end
--- Return is festival is completed Return true for repeated festivals, is they are completed now
---@param festival_id string Festival id from Festivals json
---@return number Festival completed counter (For repeat festivals can be > 1)
function eva__festivals.is_completed(festival_id) end
--- Set game festivals settings.
--- See festivals_settings_example.lua
function eva__festivals.set_settings() end
---@class eva.game
local eva__game = {}
--- Exit from the game
---@param code int The exit code
function eva__game.exit(code) end
--- Get current date in format: YYYYMMDD
---@return number Current day in format YYYYMMDD
function eva__game.get_current_date_code() end
--- Get current time in string format
---@return string Time format in iso e.g. "2019-09-25T01:48:19Z"
function eva__game.get_current_time_string() end
--- Get days since first game launch
---@return number Days since first game launch
function eva__game.get_days_played() end
--- Get time in seconds until next day from current time
---@return number Seconds until next day
function eva__game.get_seconds_until_new_day() end
--- Return unique id for local session
---@return number Unique id in this game session
function eva__game.get_session_uid() end
--- Get game time
---@return number Return game time in seconds
function eva__game.get_time() end
--- Return unique id for player profile
---@return number Unique id in player profile
function eva__game.get_uid() end
--- Check game on debug mode
function eva__game.is_debug() end
--- Return true, if game launched first time
---@return bool True, if game first time launch
function eva__game.is_first_launch() end
--- Open store page in store application
function eva__game.open_store_page() end
--- Reboot the game
---@param delay number Delay before reboot, in seconds
function eva__game.reboot(delay) end
---@class eva.gdpr
local eva__gdpr = {}
--- Apply the GDPR to the game profile
function eva__gdpr.apply_gdpr() end
--- Return if GDPR is accepted
function eva__gdpr.is_accepted() end
--- Open the policy URL
function eva__gdpr.open_policy_url() end
---@class eva.grid
local eva__grid = {}
--- Transform hex to pixel position
function eva__grid.cell_to_pos() end
--- Get map params data to work with it You can pass directly params in every method or set is as default with eva.grid.set_default_map_params Pass the map sizes to calculate correct coordinates
---@return map_params Map params data
function eva__grid.get_map_params() end
--- Get object position Can pass the offset to calculate it correctly (+ z coordinate)
---@return number, number, number Object position
function eva__grid.get_object_pos() end
--- Get tile position.
--- Convert from i, j to map position
---@return number, number, number Tile position
function eva__grid.get_tile_pos() end
--- Convert tiled object position to scene position
---@return number,number x,y Object scene position
function eva__grid.get_tiled_scene_pos() end
--- Get Z position from object Y position and his z_layer
---@param y number Object Y position
---@param z_layer number Object Z layer index
---@return map_params Map params data
function eva__grid.get_z(y, z_layer) end
--- Transform pixel to hex
function eva__grid.pos_to_cell() end
--- Set default map params To don`t pass it every time in transform functions
---@param map_params map_params Params from eva.grid.get_map_params
function eva__grid.set_default_map_params(map_params) end
---@class eva.hexgrid
local eva__hexgrid = {}
--- Transform hex to pixel position.
--- Offset coordinates
---@param i number Cell i coordinate
---@param j number Cell j coordinate
---@param k number Cell k coordinate
---@param map_params map_params Params from eva.hexgrid.get_map_params
function eva__hexgrid.cell_cube_to_pos(i, j, k, map_params) end
--- Transform hex to pixel position.
--- Offset coordinates
---@param i number Cell i coordinate
---@param j number Cell j coordinate
---@param map_params map_params Params from eva.hexgrid.get_map_params
function eva__hexgrid.cell_to_pos(i, j, map_params) end
--- Transfrom cube coordinates to offset coordinates
---@param i number I coordinate
---@param j number J coordinate
---@param k number K coordinate
---@param map_params map_params Params from eva.hexgrid.get_map_params
function eva__hexgrid.cube_to_offset(i, j, k, map_params) end
--- Get map params data to work with it You can pass directly params in every method or set is as default with eva.hexgrid.set_default_map_params Pass the map sizes to calculate correct coordinates
---@param tilewidth number Hexagon width
---@param tileheight number Hexagon height
---@param tileside number Hexagon side length (flat side)
---@param width number Map width in tiles count
---@param height number Map height in tiles count
---@param invert_y boolean If true, zero pos will be at top, else on bot
---@return map_params Map params data
function eva__hexgrid.get_map_params(tilewidth, tileheight, tileside, width, height, invert_y) end
--- Get object position Can pass the offset to calculate it correctly (+ z coordinate)
---@return number, number, number Object position
function eva__hexgrid.get_object_pos() end
--- Get tile position.
--- Convert from i, j to map position
---@return number, number, number Tile position
function eva__hexgrid.get_tile_pos() end
--- Convert tiled object position to scene position
---@return number,number x,y Object scene position
function eva__hexgrid.get_tiled_scene_pos() end
--- Get Z position from object Y position and his z_layer
---@param y number Object Y position
---@param z_layer number Object Z layer index
---@return map_params Map params data
function eva__hexgrid.get_z(y, z_layer) end
--- Transfrom offset coordinates to cube coordinates
---@param i number I coordinate
---@param j number J coordinate
---@param map_params map_params Params from eva.hexgrid.get_map_params
function eva__hexgrid.offset_to_cube(i, j, map_params) end
--- Transform pixel to hex.
--- Offset coordinates
---@param x number World x position
---@param y number World y position
---@param map_params map_params Params from eva.hexgrid.get_map_params
function eva__hexgrid.pos_to_cell(x, y, map_params) end
--- Transform pixel to hex.
--- Cube coordinates
---@param x number World x position
---@param y number World y position
---@param map_params map_params Params from eva.hexgrid.get_map_params
function eva__hexgrid.pos_to_cell_cube(x, y, map_params) end
--- Rotate offset coordinate by N * 60degree
---@param i number I coordinate
---@param j number J coordinate
---@param k number K coordinate
---@param N number Number, how much rotate on 60 degrees. Positive - rotate right, Negative - left
---@return number, number, number Offset coordinate
function eva__hexgrid.rotate_offset(i, j, k, N) end
--- Set default map params To dont pass it every time in transform functions
---@param map_params map_params Params from eva.hexgrid.get_map_params
function eva__hexgrid.set_default_map_params(map_params) end
---@class eva.iaps
local eva__iaps = {}
--- Buy the inapp
---@param iap_id string In-game inapp ID from iaps settings
function eva__iaps.buy(iap_id) end
--- Get iap info by iap_id
---@param iap_id string the inapp id
function eva__iaps.get_iap(iap_id) end
--- Get all iaps.
--- Can be selected by category
---@param category string Category of iap
---@return list of iap products
function eva__iaps.get_iaps(category) end
--- Get total lifetime value (from iaps)
---@return number Player's LTV
function eva__iaps.get_ltv() end
--- Get player max payment
---@return number Max player payment
function eva__iaps.get_max_payment() end
--- Get price from iap_id
---@param iap_id string the inapp id
---@return number Price of iap
function eva__iaps.get_price(iap_id) end
--- Get price_string from iap_id
---@param iap_id string the inapp id
---@return string The iap price string
function eva__iaps.get_price_string(iap_id) end
--- Get reward from iap_id
---@param iap_id string the inapp id
function eva__iaps.get_reward(iap_id) end
--- Check is iap is available
---@param iap_id string the inapp id
---@return bool Is available
function eva__iaps.is_available(iap_id) end
--- Refresh iap list.
--- It make request to stores to get new info Throw EVENT.IAP_UPDATE at end
function eva__iaps.refresh_iap_list() end
---@class eva.input
local eva__input = {}
--- Register the input to handle user actions If callback return true it will stop handle next input
---@param name string Name of input system
---@param callback function The input callback
---@param priority number Priority of input. Lower first
function eva__input.register(name, callback, priority) end
--- Set enabled state for input
---@param name string Name of input system
---@param is_enabled bool Enabled state
function eva__input.set_enabled(name, is_enabled) end
--- Unregister prev.
--- registered input
---@param name string Name of input system
function eva__input.unregister(name) end
---@class eva.invoices
local eva__invoices = {}
--- Add invoice to game profile If time is not provided, add invoice instantly If time is provided, add invoice in this time Invoice should be consumed to get reward
---@param category string Category param of the invoice
---@param reward evadata.Tokens Tokens reward list
---@param time number Game time to add invoice
---@param life_time number Time in seconds of invoice available
---@param title string Text invoice title
---@param text string Text invoice desc
function eva__invoices.add(category, reward, time, life_time, title, text) end
--- Check is invoice can be consumed
---@return bool Can consume invoice
function eva__invoices.can_consume() end
--- Consume the invoice to the game profile
---@param invoice_id number The id of invoice
function eva__invoices.consume(invoice_id) end
--- Get invoice data by id
---@return eva.InvoiceInfo Invoice data
function eva__invoices.get_invoce() end
--- Return current list of invoices
function eva__invoices.get_invoices() end
---@class eva.isogrid
local eva__isogrid = {}
--- Transform hex to pixel position
function eva__isogrid.cell_to_pos() end
--- Get map params data to work with it You can pass directly params in every method or set is as default with eva.isogrid.set_default_map_params Pass the map sizes to calculate correct coordinates
---@return map_params Map params data
function eva__isogrid.get_map_params() end
--- Get object position Can pass the offset to calculate it correctly (+ z coordinate)
---@return number, number, number Object position
function eva__isogrid.get_object_pos() end
--- Get tile position.
--- Convert from i, j to map position
---@return number, number, number Tile position
function eva__isogrid.get_tile_pos() end
--- Convert tiled object position to scene position
---@return number,number x,y Object scene position
function eva__isogrid.get_tiled_scene_pos() end
--- Get Z position from object Y position and his z_layer
---@param y number Object Y position
---@param z_layer number Object Z layer index
---@return map_params Map params data
function eva__isogrid.get_z(y, z_layer) end
--- Transform pixel to hex
function eva__isogrid.pos_to_cell() end
--- Set default map params To don`t pass it every time in transform functions
---@param map_params map_params Params from eva.isogrid.get_map_params
function eva__isogrid.set_default_map_params(map_params) end
---@class eva.labels
local eva__labels = {}
--- Check label is exist in player profile
---@param label string The label id
---@return bool True, if label in player profile
function eva__labels.is_exist(label) end
---@class eva.lang
local eva__lang = {}
--- Get current language
---@return string return current language code
function eva__lang.get_lang() end
--- Return list of available languages
---@return table List of available languages
function eva__lang.get_langs() end
--- Check is translation with lang_id exist
---@param lang_id strng Locale id from your localization
---@return bool Is translation exist
function eva__lang.is_exist(lang_id) end
--- Set current language
---@param lang string current language code from eva-settings
function eva__lang.set_lang(lang) end
--- Return localized time format from seconds
function eva__lang.time_format() end
--- Get translation for locale id with params
---@param lang_id string Locale id from your localization
---@param ... string Params for string.format for lang_id
---@return string Translated locale
function eva__lang.txp(lang_id, ...) end
--- Get random translation for locale id, split by \n symbol
---@param lang_id string locale id from your localization
---@return string translated locale
function eva__lang.txr(lang_id) end
--- Get translation for locale id
---@param lang_id string locale id from your localization
---@return string translated locale
function eva__lang.txt(lang_id) end
---@class eva.migrations
local eva__migrations = {}
--- Apply the migrations
function eva__migrations.apply() end
--- Return amount of migrations
function eva__migrations.get_count() end
--- Add migration to the eva system Pass the migrations list in eva.init You should directly point the migration version in migration list (array from 1 to N)
function eva__migrations.set_migrations() end
---@class eva.offers
local eva__offers = {}
--- Start new offer Every offer is unique.
--- You got error, if offer_id is already started. Data pickups from Offers DB.
---@param offer_id string offer id from db
---@return eva.Offer new offer
function eva__offers.add(offer_id) end
--- Get token group of offer price.
---@param offer_id string offer id from db
---@return evadata.Tokens token list
function eva__offers.get_price(offer_id) end
--- Get token group of offer reward.
---@param offer_id string offer id from db
---@return evadata.Tokens token list
function eva__offers.get_reward(offer_id) end
--- Return time till offer end.
--- If offer is no exist now, print the error
---@param offer_id string offer id from db
---@return number time in seconds
function eva__offers.get_time(offer_id) end
--- Check is offer active not
---@param offer_id string offer id from db
---@return bool is offer active
function eva__offers.is_active(offer_id) end
--- Check is offer for inapp
---@param offer_id string offer id from db
---@return bool is offer inapp
function eva__offers.is_iap(offer_id) end
--- Remove offers from active list
---@param offer_id string offer id from db
function eva__offers.remove(offer_id) end
---@class eva.pathfinder
local eva__pathfinder = {}
--- Init astar for map, init get_tile callback get_node_fn - function to get tile: function(i, j) should return cost of node.
--- Nil if cell is unpassable
---@param map_data map_data Map data from eva.tiled.load_map
---@param get_node_fn function Get node cost function from map
---@param options table Options for map handlers: - diagonal boolean, to grid and isogrid pathfinding
---@return map_handler Handler for astar work
function eva__pathfinder.init_astar(map_data, get_node_fn, options) end
--- Return path between two points for map.
--- Call init_astar, to make map_handler param optional
---@param from_x unknown Cell X from map
---@param from_y unknown Cell Y from map
---@param to_x unknown Cell X from map
---@param to_y unknown Cell Y from map
---@param map_handler map_handler Map handler to handle map for astar
---@return table|nil Table of points. See eva.libs.astar.path. Nil if path is not exist
function eva__pathfinder.path(from_x, from_y, to_x, to_y, map_handler) end
---@class eva.promocode
local eva__promocode = {}
--- Get list of all redeemed codes
---@return string[] List of applied codes
function eva__promocode.get_applied_codes() end
--- Check if promocode is already applied
---@param code string The promocode itself
---@return bool True if code is already redeemed
function eva__promocode.is_applied(code) end
--- Check if promocode can be redeem
---@param code string The promocode itself
---@return bool True of false
function eva__promocode.is_can_redeem(code) end
--- Try redeem the code and get rewards
---@param code string The promocode itself
---@return bool Result of success
function eva__promocode.redeem_code(code) end
--- Set promocode settings.
--- Pass settings in eva.init function
function eva__promocode.set_settings() end
---@class eva.proto
local eva__proto = {}
--- Decode protobuf
function eva__proto.decode() end
--- Encode protobuf
function eva__proto.encode() end
--- Get empty template from proto type
---@param proto_type string name of proto message e.g. 'eva.Token'
---@return table empty table with default values from proto
function eva__proto.get(proto_type) end
--- Check data to match the proto_type Return data with default values according to proto_type
---@param proto_type string The prototype name
---@param data table The user data
function eva__proto.verify(proto_type, data) end
---@class eva.push
local eva__push = {}
--- Clear all pushes, what already should be invoked.
function eva__push.clear_old_pushes() end
--- Get push enabled status
function eva__push.is_enabled() end
--- Schedule notification
function eva__push.schedule() end
--- Schedule by list Every notifications have: after, title, text, category, payload
function eva__push.schedule_list() end
--- Set push enabled status
---@param is_enabled boolean
function eva__push.set_enabled(is_enabled) end
--- Unschedule the push notification
function eva__push.unschedule() end
--- Cancel all pushes with category If category is not provided, cancel all pushes
---@param category string Push category to cancel
function eva__push.unschedule_all(category) end
---@class eva.quests
local eva__quests = {}
--- Add event, to trigger quest list update.
--- Example: you have a condition to start quest only if festival is enabled So add event FESTIVAL_START to update quests on this update
function eva__quests.add_update_quest_event() end
--- Complete quest, if it can be completed
---@param quest_id string Quest id
function eva__quests.complete_quest(quest_id) end
--- Force complete quest
---@param quest_id string Quest id
function eva__quests.force_complete_quest(quest_id) end
--- Get completed quests list
---@return table List of active quests
function eva__quests.get_completed() end
--- Get current active quests
---@param category string[opt] Quest category, if nil return all current quests
---@return table List of active quests
function eva__quests.get_current(category) end
--- Get current progress on quest
---@param quest_id string Quest id
---@return table List of progress of quest tasks in task order
function eva__quests.get_progress(quest_id) end
--- Check quest is active
---@return bool Quest active state
function eva__quests.is_active() end
--- Check quest is can be completed now
---@return bool Quest is can complete quest state
function eva__quests.is_can_complete_quest() end
--- Check quest is can be started now
---@return bool Quest is can start state
function eva__quests.is_can_start_quest() end
--- Check quest is completed
---@return bool Quest completed state
function eva__quests.is_completed() end
--- Check if there is quests in current with pointer action and object
---@param action string Task action
---@param object string Task object
---@return bool True, if there is quest with similar tasks
function eva__quests.is_current_with_task(action, object) end
--- Apply quest event to all current quests
---@param action string Type of event
---@param object string Object of event
---@param amount number Amount of event
function eva__quests.quest_event(action, object, amount) end
--- Reset quets progress, only on current quests
---@param quest_id string Quest id
function eva__quests.reset_progress(quest_id) end
--- Set game quests settings.
--- Pass settings in eva.init function
function eva__quests.set_settings() end
--- Start quest, if it can be started
---@param quest_id string Quest id
function eva__quests.start_quest(quest_id) end
--- Start eva quests system.
--- Need to call, when game is prepared for quests Call it to activate quests
function eva__quests.start_quests() end
--- Update quests list It will start and end quests, by checking quests condition
function eva__quests.update_quests() end
---@class eva.rate
local eva__rate = {}
--- Open store or native rating if available
function eva__rate.open_rate() end
--- Try to promt rate game to the player
function eva__rate.promt_rate() end
--- Set rate as accepted.
--- It will no show more
function eva__rate.set_accepted() end
--- Set never promt rate again
function eva__rate.set_never_show() end
---@class eva.rating
local eva__rating = {}
--- Call elo rating
---@param rating_a number Player rating
---@param rating_b number Opponent rating
---@param game_koef number Result of game. 1 is win, 0 on loose, 0.5 is draw
function eva__rating.elo(rating_a, rating_b, game_koef) end
---@class eva.render
local eva__render = {}
--- Change render
function eva__render.set_blur() end
--- Change render
function eva__render.set_light() end
--- Change render
function eva__render.set_vignette() end
---@class eva.saver
local eva__saver = {}
--- Add save part to the save table
function eva__saver.add_save_part() end
--- Delete the save
---@param filename string The save filename. Can be default by settings
function eva__saver.delete(filename) end