· 6 years ago · Jan 31, 2020, 02:26 PM
1
2var rgbStart = [139,195,74]
3var rgbEnd = [183,28,28]
4
5$(function(){
6 window.addEventListener('message', function(event) {
7 if (event.data.action == "setValue"){
8 if (event.data.key == "job"){
9 setJobIcon(event.data.icon)
10 }
11 setValue(event.data.key, event.data.value)
12
13 }else if (event.data.action == "updateStatus"){
14 updateStatus(event.data.status);
15 }else if (event.data.action == "setTalking"){
16
17 setTalking(event.data.value)
18 }else if (event.data.action == "setProximity"){
19 setProximity(event.data.value)
20 }else if (event.data.action == "toggle"){
21 if (event.data.show){
22 $('#ui').show();
23 } else{
24 $('#ui').hide();
25 }
26 } else if (event.data.action == "toggleCar"){
27 if (event.data.show){
28 //$('.carStats').show();
29 } else{
30 //$('.carStats').hide();
31 }
32 }else if (event.data.action == "updateCarStatus"){
33 updateCarStatus(event.data.status)
34 }else if (event.data.action == "updateWeight"){
35 updateWeight(event.data.weight)
36 }
37 });
38
39});
40
41function updateWeight(weight){
42
43
44 var bgcolor = colourGradient(weight, rgbEnd, rgbStart)
45 $('.hp-stat .bg').css('height', weight +'%')
46
47}
48
49function updateCarStatus(status){
50 var gas = status[0]
51 $('#gas .bg').css('height', gas.percent+'%')
52 var bgcolor = colourGradient(gas.percent/100, rgbStart, rgbEnd)
53 //var bgcolor = colourGradient(0.1, rgbStart, rgbEnd)
54 //$('#gas .bg').css('height', '10%')
55 $('#gas .bg').css('background-color', 'rgb(' + bgcolor[0] +','+ bgcolor[1] +','+ bgcolor[2] +')')
56}
57
58function setValue(key, value){
59 $('#'+key+' span').html(value)
60
61}
62
63function setJobIcon(value){
64 $('#job img').attr('src', 'img/jobs/'+value+'.png')
65}
66
67function updateStatus(status){
68 var hunger = status[1]
69 var thirst = status[2]
70 var drunk = status[3]
71 $('#hunger .bg').css('height', hunger.percent+'%')
72 $('#water .bg').css('height', thirst.percent+'%')
73 $('#drunk .bg').css('height', drunk.percent+'%');
74 if (drunk.percent > 0){
75 $('#drunk').show();
76 }else{
77 $('#drunk').show();
78 }
79
80}
81
82function setProximity(value){
83 var color;
84 var speaker;
85 if (value == "whisper"){
86 color = "rgb(98, 0, 255)";
87 speaker = 1;
88 }else if (value == "normal"){
89 color = "rgb(98, 0, 255)"
90 speaker = 2;
91 }else if (value == "shout"){
92 color = "rgb(98, 0, 255)"
93 speaker = 3;
94
95 }
96 $('#voice .bg').css('background-color', color);
97 $('#voice img').attr('src', 'img/speaker'+speaker+'.png');
98}
99
100function setTalking(value){
101 if (value){
102 //#64B5F6
103 $('#voice').css('border', '2px solid #03A9F4')
104 }else{
105 //#81C784
106 $('#voice').css('border', '1px solid #000000')
107 }
108}
109
110//API Shit
111function colourGradient(p, rgb_beginning, rgb_end){
112 var w = p * 2 - 1;
113
114 var w1 = (w + 1) / 2.0;
115 var w2 = 1 - w1;
116
117 var rgb = [parseInt(rgb_beginning[0] * w1 + rgb_end[0] * w2),
118 parseInt(rgb_beginning[1] * w1 + rgb_end[1] * w2),
119 parseInt(rgb_beginning[2] * w1 + rgb_end[2] * w2)];
120 return rgb;
121};