Jamie Slowgrove - PGG Assignment 2
 All Classes Namespaces Files Functions Variables Typedefs Macros
Ring.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <iostream>
4 #include <glm.hpp>
5 #include <gtc/type_ptr.hpp>
6 #include <gtc/matrix_transform.hpp>
7 #include <memory>
8 #include "glew.h"
9 #include "Utilities.h"
10 #include "Entity.h"
11 
16 class Ring : public Entity
17 {
18 private:
20  int AI;
22  float moveSpeedAI;
24  float scaleSpeedAI;
26  float circleAngle;
28  float circleRadius;
30  glm::vec2 directionXY;
33 
34 public:
42  Ring(Model* model, float scaleValue, int AI);
43 
48  ~Ring();
49 
54  void update(float dt);
55 
61  void typeZeroAI(float dt);
62 
68  void typeOneAI(float dt);
69 
75  void typeTwoAI(float dt);
76 
82  void typeThreeAI(float dt);
83 
89  void typeFourAI(float dt);
90 };
Creates a Ring object that inherits Entity.
Definition: Ring.h:16
Model * model
Definition: Entity.h:20
Creates a Model from an object and a shader.
Definition: Model.h:14
int AI
Definition: Ring.h:20
void update(float dt)
Definition: Ring.cpp:40
glm::vec2 directionXY
Definition: Ring.h:30
void typeFourAI(float dt)
Definition: Ring.cpp:163
~Ring()
Definition: Ring.cpp:31
void typeOneAI(float dt)
Definition: Ring.cpp:100
float scaleSpeedAI
Definition: Ring.h:24
Creates an Entity containing a Model.
Definition: Entity.h:16
void typeZeroAI(float dt)
Definition: Ring.cpp:92
void typeTwoAI(float dt)
Definition: Ring.cpp:121
float scaleDirection
Definition: Ring.h:32
float scaleValue
Definition: Entity.h:26
float circleRadius
Definition: Ring.h:28
float moveSpeedAI
Definition: Ring.h:22
Ring(Model *model, float scaleValue, int AI)
Definition: Ring.cpp:6
float circleAngle
Definition: Ring.h:26
void typeThreeAI(float dt)
Definition: Ring.cpp:142