#pragma once #include "MobsCorpACorp.h" #include "GestionPlayer.h" #include "MobsIA.h" #include #include #include #include "MobsCorpACorp.h" #include using namespace godot; class MobsCorpACorpIA : public KinematicBody2D { public: Sprite* sprite_MobsCorpACorp_ptr; CollisionShape2D* collision_MobsCorpACorp_ptr; Ref texture_MobsCorpACorp_ptr; Ref shape_MobsCorpACorp_ptr; private: GODOT_CLASS(MobsCorpACorpIA, KinematicBody2D) public: MobsCorpACorp m; public: MobsCorpACorpIA(); void static _register_methods(); void _physics_process(float delta); void _process(float delta); void _init(); void _ready(); private: void droit(); void gauche(); void bas(); void saut(); void idle(); void attack(); void createMobsCorpACorp(); void setupMobsCorpACorp(); void mouvement(float dt); public: bool on_ground = false; bool on_roof = false; bool on_left_wall = false; bool on_right_wall = false; public: void Action(); const float GamePlayMultiplicator = 100.0f; const float gravity = 9.8f * GamePlayMultiplicator; const float speed = 100.f; const float power_jump = -5.0f * GamePlayMultiplicator; public: Vector2 TargetPosition; public: void UpdateTargetPosition(Vector2 _TargetPosition) { TargetPosition = _TargetPosition; } void setPosition(int x, int y); };