This repository has been archived by the owner on Jan 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAttackBehaviour_8hpp_source.html
190 lines (188 loc) · 27.9 KB
/
AttackBehaviour_8hpp_source.html
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPICPRJ Game: src/Scripts/Common/AttackBehaviour.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">SPICPRJ Game
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_3ac9928fc2e7e2cbc53db7c1a11acda2.html">Scripts</a></li><li class="navelem"><a class="el" href="dir_597d3b15b2681ac1e836bbd120fa430e.html">Common</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">AttackBehaviour.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AttackBehaviour_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SPIC_GAME_ATTACKBEHAVIOUR_HPP</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define SPIC_GAME_ATTACKBEHAVIOUR_HPP</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "<a class="code" href="BehaviourScript_8hpp.html">BehaviourScript.hpp</a>"</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include "<a class="code" href="CoolDownBehaviour_8hpp.html">CoolDownBehaviour.hpp</a>"</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="HealthBehaviour_8hpp.html">HealthBehaviour.hpp</a>"</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "../../Enums/BulletType.hpp"</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>  </div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "<a class="code" href="Animator_8hpp.html">Animator.hpp</a>"</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "<a class="code" href="Point_8hpp.html">Point.hpp</a>"</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <string></span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">namespace </span><a class="code" href="namespacegame.html">game</a></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classgame_1_1AttackBehaviour.html"> 19</a></span>  <span class="keyword">class </span><a class="code" href="classgame_1_1AttackBehaviour.html">AttackBehaviour</a> : <span class="keyword">public</span> <a class="code" href="classspic_1_1BehaviourScript.html">spic::BehaviourScript</a></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keyword">private</span>:</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  std::shared_ptr<game::CoolDownBehaviour> _coolDownBehaviour;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  std::shared_ptr<game::HealthBehaviour> _healthBehaviour;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  std::string _targetTag;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <a class="code" href="namespacegame.html#aa55c9d017973af7646d9f46bff0af608">game::BulletType</a> _bulletType;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordtype">int</span> _range;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keywordtype">int</span> _damage;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keywordtype">double</span> _bulletSpeed;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keywordtype">int</span> _maxPenetrating;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordtype">double</span> _damageRadius;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordtype">bool</span> _followTarget;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  std::shared_ptr<spic::Animator> _animator;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classgame_1_1AttackBehaviour.html#a1b1a59fc0071a6a8b76ebb3d1941de8f">AttackBehaviour</a>(<span class="keyword">const</span> std::string& targetTag, <a class="code" href="namespacegame.html#aa55c9d017973af7646d9f46bff0af608">game::BulletType</a> bulletType, <span class="keywordtype">double</span> fireRate, <span class="keywordtype">int</span> range, <span class="keywordtype">int</span> damage, <span class="keywordtype">double</span> bulletSpeed, <span class="keywordtype">int</span> maxPenetrating = 1, <span class="keywordtype">double</span> damageRadius = 0, <span class="keywordtype">bool</span> followTarget = <span class="keyword">false</span>, std::shared_ptr<spic::Animator> animator = {});</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#abe7f7760732fd8fa8e2f77402e7abfb4">OnStart</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#af129829e2947f6c731dd05553e3ff181">OnUpdate</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a5bccae13c076806d7a014061c6f1c9df">OnTriggerEnter2D</a>(<span class="keyword">const</span> <a class="code" href="classspic_1_1Collider.html">spic::Collider</a>& collider) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a34feda3afb6b0f4a59423abaed6aa843">OnTriggerExit2D</a>(<span class="keyword">const</span> <a class="code" href="classspic_1_1Collider.html">spic::Collider</a>& collider) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a9087d72fa54cd7ded194ef4b3b9a4ede">OnTriggerStay2D</a>(<span class="keyword">const</span> <a class="code" href="classspic_1_1Collider.html">spic::Collider</a>& collider) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#ac1ec5c587d7aac600381663aa46d66a9">Shoot</a>(<span class="keyword">const</span> <a class="code" href="structspic_1_1Point.html">spic::Point</a>& direction, <span class="keyword">const</span> <a class="code" href="structspic_1_1Point.html">spic::Point</a>& position);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  [[nodiscard]] <span class="keywordtype">double</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a28fe5f0c416076e3e028350c7a099d42">FireRate</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a28fe5f0c416076e3e028350c7a099d42">FireRate</a>(<span class="keywordtype">double</span> fireRate);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  [[nodiscard]] <span class="keywordtype">int</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a8f341e0fe16ee2c01b1be11fbd75c7a4">Range</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a8f341e0fe16ee2c01b1be11fbd75c7a4">Range</a>(<span class="keywordtype">int</span> range);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  [[nodiscard]] <span class="keywordtype">int</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a96b71f32953ed1d58a99fd10b8471379">Damage</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a96b71f32953ed1d58a99fd10b8471379">Damage</a>(<span class="keywordtype">int</span> damage);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  [[nodiscard]] <span class="keywordtype">double</span> <a class="code" href="classgame_1_1AttackBehaviour.html#af4b1bed22883979cbcf5c6d12c4ca671">BulletSpeed</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#af4b1bed22883979cbcf5c6d12c4ca671">BulletSpeed</a>(<span class="keywordtype">double</span> bulletSpeed);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  [[nodiscard]] <span class="keyword">const</span> std::string& <a class="code" href="classgame_1_1AttackBehaviour.html#aff40138d53c132fb00187b08143e7abd">TargetTag</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#aff40138d53c132fb00187b08143e7abd">TargetTag</a>(<span class="keyword">const</span> std::string& targetTag);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  </div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  [[nodiscard]] <a class="code" href="namespacegame.html#aa55c9d017973af7646d9f46bff0af608">game::BulletType</a> <a class="code" href="classgame_1_1AttackBehaviour.html#a7c0b04e26fe757e5134b1bd9d264b0b0">BulletType</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a7c0b04e26fe757e5134b1bd9d264b0b0">BulletType</a>(<a class="code" href="namespacegame.html#aa55c9d017973af7646d9f46bff0af608">game::BulletType</a> bulletType);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  [[nodiscard]] <span class="keywordtype">double</span> <a class="code" href="classgame_1_1AttackBehaviour.html#addcffec18418ffba39ac809fe1b4c0b2">DamageRadius</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#addcffec18418ffba39ac809fe1b4c0b2">DamageRadius</a>(<span class="keywordtype">double</span> damageRadius);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  [[nodiscard]] <span class="keywordtype">bool</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a347e1acf3fc0fa9c6cb44281f421bf49">FollowTarget</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#a347e1acf3fc0fa9c6cb44281f421bf49">FollowTarget</a>(<span class="keywordtype">bool</span> followTarget);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  [[nodiscard]] std::shared_ptr<spic::Animator> <a class="code" href="classgame_1_1AttackBehaviour.html#acbb09c76297b84b1a31ff455942b9338">Animator</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordtype">void</span> <a class="code" href="classgame_1_1AttackBehaviour.html#acbb09c76297b84b1a31ff455942b9338">Animator</a>(std::shared_ptr<spic::Animator> animator);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  };</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#endif</span></div>
<div class="ttc" id="aAnimator_8hpp_html"><div class="ttname"><a href="Animator_8hpp.html">Animator.hpp</a></div></div>
<div class="ttc" id="aBehaviourScript_8hpp_html"><div class="ttname"><a href="BehaviourScript_8hpp.html">BehaviourScript.hpp</a></div></div>
<div class="ttc" id="aCoolDownBehaviour_8hpp_html"><div class="ttname"><a href="CoolDownBehaviour_8hpp.html">CoolDownBehaviour.hpp</a></div></div>
<div class="ttc" id="aHealthBehaviour_8hpp_html"><div class="ttname"><a href="HealthBehaviour_8hpp.html">HealthBehaviour.hpp</a></div></div>
<div class="ttc" id="aPoint_8hpp_html"><div class="ttname"><a href="Point_8hpp.html">Point.hpp</a></div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html">game::AttackBehaviour</a></div><div class="ttdoc">A script to attack other game objects containing a health script.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.hpp:20</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a1b1a59fc0071a6a8b76ebb3d1941de8f"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a1b1a59fc0071a6a8b76ebb3d1941de8f">game::AttackBehaviour::AttackBehaviour</a></div><div class="ttdeci">AttackBehaviour(const std::string &targetTag, game::BulletType bulletType, double fireRate, int range, int damage, double bulletSpeed, int maxPenetrating=1, double damageRadius=0, bool followTarget=false, std::shared_ptr< spic::Animator > animator={})</div><div class="ttdoc">Constructs a new instance of an AttackBehaviour with given settings.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:15</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a28fe5f0c416076e3e028350c7a099d42"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a28fe5f0c416076e3e028350c7a099d42">game::AttackBehaviour::FireRate</a></div><div class="ttdeci">double FireRate() const</div><div class="ttdoc">The fire rate.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:104</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a347e1acf3fc0fa9c6cb44281f421bf49"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a347e1acf3fc0fa9c6cb44281f421bf49">game::AttackBehaviour::FollowTarget</a></div><div class="ttdeci">bool FollowTarget() const</div><div class="ttdoc">Whether to follow the nearest target.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:174</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a34feda3afb6b0f4a59423abaed6aa843"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a34feda3afb6b0f4a59423abaed6aa843">game::AttackBehaviour::OnTriggerExit2D</a></div><div class="ttdeci">void OnTriggerExit2D(const spic::Collider &collider) override</div><div class="ttdoc">Triggers when the script stopped colliding with a collider.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:94</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a5bccae13c076806d7a014061c6f1c9df"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a5bccae13c076806d7a014061c6f1c9df">game::AttackBehaviour::OnTriggerEnter2D</a></div><div class="ttdeci">void OnTriggerEnter2D(const spic::Collider &collider) override</div><div class="ttdoc">Triggers when the script collides with a collider.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:89</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a7c0b04e26fe757e5134b1bd9d264b0b0"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a7c0b04e26fe757e5134b1bd9d264b0b0">game::AttackBehaviour::BulletType</a></div><div class="ttdeci">game::BulletType BulletType() const</div><div class="ttdoc">The type of bullet.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:154</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a8f341e0fe16ee2c01b1be11fbd75c7a4"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a8f341e0fe16ee2c01b1be11fbd75c7a4">game::AttackBehaviour::Range</a></div><div class="ttdeci">int Range() const</div><div class="ttdoc">The range of the bullet.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:114</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a9087d72fa54cd7ded194ef4b3b9a4ede"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a9087d72fa54cd7ded194ef4b3b9a4ede">game::AttackBehaviour::OnTriggerStay2D</a></div><div class="ttdeci">void OnTriggerStay2D(const spic::Collider &collider) override</div><div class="ttdoc">Triggers while an collider is colliding with a collider.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:99</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_a96b71f32953ed1d58a99fd10b8471379"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#a96b71f32953ed1d58a99fd10b8471379">game::AttackBehaviour::Damage</a></div><div class="ttdeci">int Damage() const</div><div class="ttdoc">The damage of the bullet.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:124</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_abe7f7760732fd8fa8e2f77402e7abfb4"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#abe7f7760732fd8fa8e2f77402e7abfb4">game::AttackBehaviour::OnStart</a></div><div class="ttdeci">void OnStart() override</div><div class="ttdoc">Triggers when the scripts starts for the first time.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:28</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_ac1ec5c587d7aac600381663aa46d66a9"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#ac1ec5c587d7aac600381663aa46d66a9">game::AttackBehaviour::Shoot</a></div><div class="ttdeci">void Shoot(const spic::Point &direction, const spic::Point &position)</div><div class="ttdoc">Shoot a bullet towards a duration from a given position.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:77</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_acbb09c76297b84b1a31ff455942b9338"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#acbb09c76297b84b1a31ff455942b9338">game::AttackBehaviour::Animator</a></div><div class="ttdeci">std::shared_ptr< spic::Animator > Animator() const</div><div class="ttdoc">The shooting animator.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:184</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_addcffec18418ffba39ac809fe1b4c0b2"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#addcffec18418ffba39ac809fe1b4c0b2">game::AttackBehaviour::DamageRadius</a></div><div class="ttdeci">double DamageRadius() const</div><div class="ttdoc">The radius of the bullet damage.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:164</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_af129829e2947f6c731dd05553e3ff181"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#af129829e2947f6c731dd05553e3ff181">game::AttackBehaviour::OnUpdate</a></div><div class="ttdeci">void OnUpdate() override</div><div class="ttdoc">Triggers every frame when the script is active.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:36</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_af4b1bed22883979cbcf5c6d12c4ca671"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#af4b1bed22883979cbcf5c6d12c4ca671">game::AttackBehaviour::BulletSpeed</a></div><div class="ttdeci">double BulletSpeed() const</div><div class="ttdoc">The speed of the bullet.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:134</div></div>
<div class="ttc" id="aclassgame_1_1AttackBehaviour_html_aff40138d53c132fb00187b08143e7abd"><div class="ttname"><a href="classgame_1_1AttackBehaviour.html#aff40138d53c132fb00187b08143e7abd">game::AttackBehaviour::TargetTag</a></div><div class="ttdeci">const std::string & TargetTag() const</div><div class="ttdoc">The target tag of the bullet.</div><div class="ttdef"><b>Definition:</b> AttackBehaviour.cpp:144</div></div>
<div class="ttc" id="aclassspic_1_1BehaviourScript_html"><div class="ttname"><a href="classspic_1_1BehaviourScript.html">spic::BehaviourScript</a></div><div class="ttdoc">Base class for script running in the game.</div><div class="ttdef"><b>Definition:</b> BehaviourScript.hpp:15</div></div>
<div class="ttc" id="aclassspic_1_1Collider_html"><div class="ttname"><a href="classspic_1_1Collider.html">spic::Collider</a></div><div class="ttdoc">The base class for all colliders. @spicapi.</div><div class="ttdef"><b>Definition:</b> Collider.hpp:16</div></div>
<div class="ttc" id="anamespacegame_html"><div class="ttname"><a href="namespacegame.html">game</a></div><div class="ttdef"><b>Definition:</b> HUDController.hpp:15</div></div>
<div class="ttc" id="anamespacegame_html_aa55c9d017973af7646d9f46bff0af608"><div class="ttname"><a href="namespacegame.html#aa55c9d017973af7646d9f46bff0af608">game::BulletType</a></div><div class="ttdeci">BulletType</div><div class="ttdoc">Enum for bullet types.</div><div class="ttdef"><b>Definition:</b> BulletType.hpp:10</div></div>
<div class="ttc" id="astructspic_1_1Point_html"><div class="ttname"><a href="structspic_1_1Point.html">spic::Point</a></div><div class="ttdoc">Struct representing both a 2D point and a 2D vector. @spicapi.</div><div class="ttdef"><b>Definition:</b> Point.hpp:11</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>