From 7dbe12e0346cc383d3eeff4782e10dd69006090c Mon Sep 17 00:00:00 2001 From: PetrKu09 Date: Thu, 15 Aug 2024 16:07:30 +0300 Subject: [PATCH 1/4] Create CheckComponentCollision --- ZoFo.sln | 18 ++++++++++++------ ZoFo/ZoFo.csproj | 5 +---- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/ZoFo.sln b/ZoFo.sln index d0636e2..81a0c18 100644 --- a/ZoFo.sln +++ b/ZoFo.sln @@ -1,8 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZoFo", "ZoFo\ZoFo.csproj", "{D63272E5-A54D-4C24-AA48-2945CB1D0BBB}" +# Visual Studio Version 17 +VisualStudioVersion = 17.10.35122.118 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZoFo", "ZoFo\ZoFo.csproj", "{D63272E5-A54D-4C24-AA48-2945CB1D0BBB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonogameLibrary", "MonogameLibrary\MonogameLibrary.csproj", "{D6272E15-AD49-468A-BE0F-D812E8697FAC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonogameLibrary", "MonogameLibrary\MonogameLibrary.csproj", "{40880E68-4B3A-417B-A39B-95DE46AA2E7E}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -14,9 +17,12 @@ Global {D63272E5-A54D-4C24-AA48-2945CB1D0BBB}.Debug|Any CPU.Build.0 = Debug|Any CPU {D63272E5-A54D-4C24-AA48-2945CB1D0BBB}.Release|Any CPU.ActiveCfg = Release|Any CPU {D63272E5-A54D-4C24-AA48-2945CB1D0BBB}.Release|Any CPU.Build.0 = Release|Any CPU - {D6272E15-AD49-468A-BE0F-D812E8697FAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D6272E15-AD49-468A-BE0F-D812E8697FAC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D6272E15-AD49-468A-BE0F-D812E8697FAC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D6272E15-AD49-468A-BE0F-D812E8697FAC}.Release|Any CPU.Build.0 = Release|Any CPU + {40880E68-4B3A-417B-A39B-95DE46AA2E7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {40880E68-4B3A-417B-A39B-95DE46AA2E7E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {40880E68-4B3A-417B-A39B-95DE46AA2E7E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {40880E68-4B3A-417B-A39B-95DE46AA2E7E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE EndGlobalSection EndGlobal diff --git a/ZoFo/ZoFo.csproj b/ZoFo/ZoFo.csproj index e8147c1..afb5dfe 100644 --- a/ZoFo/ZoFo.csproj +++ b/ZoFo/ZoFo.csproj @@ -1,4 +1,4 @@ - + WinExe net8.0 @@ -21,13 +21,10 @@ -<<<<<<< HEAD -======= ->>>>>>> CollisionManager From 86d83e83870f3abb32ea5131584fc9215570f801 Mon Sep 17 00:00:00 2001 From: PetrKu09 Date: Thu, 15 Aug 2024 16:32:32 +0300 Subject: [PATCH 2/4] Create CheckComponentCollision and meet into her --- .../CollisionManager/CollisionComponent.cs | 12 ++++++++---- .../CollisionManager/CollisionManager.cs | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs index 7556e1c..c5b3a0f 100644 --- a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs +++ b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs @@ -5,11 +5,15 @@ using System.Linq; using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; +using ZoFo.GameCore.GameObjects; namespace ZoFo.GameCore.GameManagers.CollisionManager { public class CollisionComponent - { + { + //поля + public Rectangle Bounds { get; set; } + //остановлен ли перс bool doesStop; Rectangle stopRectangle; @@ -28,17 +32,17 @@ namespace ZoFo.GameCore.GameManagers.CollisionManager public event EventHandler OnTriggerExit; // methods-event - public void TriggerEnter(object component, ///, + public void TriggerEnter(object component, Player player, EventArgs e) { } - public void TriggerZone(object component,///, + public void TriggerZone(object component,Player player, EventArgs e) { } - public void TriggerExit(object component,///, + public void TriggerExit(object component,Player player, EventArgs e) { diff --git a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs index 1c0ab2b..0663b7f 100644 --- a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs +++ b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs @@ -5,14 +5,32 @@ using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; +using ZoFo.GameCore.GameObjects; +using ZoFo.GameCore.GameManagers.CollisionManager; namespace ZoFo.GameCore.GameManagers.CollisionManager { public class CollisionManager { + Player player; + public List CollisionComponent; public List TriggerComponent; + public bool CheckComponentCollision(List collisionComponents, CollisionComponent component) + { + foreach (var obstacle in collisionComponents) + { + if (component.Bounds.Intersects(obstacle.Bounds)) + { + return true; + } + } + + + return false; + } + public void UpdatePositions() { From 16a40586e73a317cbdf2ca9c259d2628aab1ca41 Mon Sep 17 00:00:00 2001 From: PetrKu09 Date: Thu, 15 Aug 2024 17:06:12 +0300 Subject: [PATCH 3/4] Add meet into CheckComponentCollision and Create UpdateComponentCollision --- .../GameManagers/CollisionManager/CollisionComponent.cs | 5 +++++ .../GameManagers/CollisionManager/CollisionManager.cs | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs index c5b3a0f..755fc11 100644 --- a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs +++ b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionComponent.cs @@ -25,6 +25,11 @@ namespace ZoFo.GameCore.GameManagers.CollisionManager //delegate public delegate void EventHandler(object sender, EventArgs e); + public CollisionComponent(int x, int y, int width, int height) + { + Bounds = new Rectangle(x, y, width, height); + } + //events public event EventHandler OnTriggerEnter; diff --git a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs index 0663b7f..75acc1b 100644 --- a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs +++ b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs @@ -17,17 +17,16 @@ namespace ZoFo.GameCore.GameManagers.CollisionManager public List CollisionComponent; public List TriggerComponent; - public bool CheckComponentCollision(List collisionComponents, CollisionComponent component) + public static bool CheckComponentCollision(List collisionComponents, CollisionComponent component) { - foreach (var obstacle in collisionComponents) + foreach (var collisionComponent in collisionComponents) { - if (component.Bounds.Intersects(obstacle.Bounds)) + if (component.Bounds.IntersectsWith(collisionComponent.Bounds)) { return true; } } - return false; } From d29b8c39ccbc2bdddef857607237852701e9fab8 Mon Sep 17 00:00:00 2001 From: PetrKu09 Date: Fri, 16 Aug 2024 00:33:26 +0300 Subject: [PATCH 4/4] UpdateComponentCollision --- ZoFo/Game1.cs | 52 ------------------- .../CollisionManager/CollisionManager.cs | 23 +++++--- 2 files changed, 15 insertions(+), 60 deletions(-) delete mode 100644 ZoFo/Game1.cs diff --git a/ZoFo/Game1.cs b/ZoFo/Game1.cs deleted file mode 100644 index b9272db..0000000 --- a/ZoFo/Game1.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Graphics; -using Microsoft.Xna.Framework.Input; - -namespace ZoFo; - -public class Game1 : Game -{ - private GraphicsDeviceManager _graphics; - private SpriteBatch _spriteBatch; - - public Game1() - { - _graphics = new GraphicsDeviceManager(this); - Content.RootDirectory = "Content"; - IsMouseVisible = true; - } - - protected override void Initialize() - { - // TODO: Add your initialization logic here - - base.Initialize(); - } - - protected override void LoadContent() - { - _spriteBatch = new SpriteBatch(GraphicsDevice); - - // TODO: use this.Content to load your game content here - } - - protected override void Update(GameTime gameTime) - { - if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || - Keyboard.GetState().IsKeyDown(Keys.Escape)) - Exit(); - - // TODO: Add your update logic here - - base.Update(gameTime); - } - - protected override void Draw(GameTime gameTime) - { - GraphicsDevice.Clear(Color.CornflowerBlue); - - // TODO: Add your drawing code here - - base.Draw(gameTime); - } -} \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs index 75acc1b..8cf63f2 100644 --- a/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs +++ b/ZoFo/GameCore/GameManagers/CollisionManager/CollisionManager.cs @@ -7,16 +7,18 @@ using System.Text; using System.Threading.Tasks; using ZoFo.GameCore.GameObjects; using ZoFo.GameCore.GameManagers.CollisionManager; +using Microsoft.Xna.Framework; +using ZoFo.GameCore.GameManagers.MapManager.MapElements; namespace ZoFo.GameCore.GameManagers.CollisionManager { public class CollisionManager { - Player player; - public List CollisionComponent; public List TriggerComponent; + + public static bool CheckComponentCollision(List collisionComponents, CollisionComponent component) { foreach (var collisionComponent in collisionComponents) @@ -30,20 +32,25 @@ namespace ZoFo.GameCore.GameManagers.CollisionManager return false; } + public void UpdateComponentCollision(List collisionComponents) + { + + } + public void UpdatePositions() { } - public void GetObjectInArea(Rectangle area) - { + //public void GetObjectInArea(Rectangle area) + //{ - } + //} - public void Register(Rectangle rectangle) - { + //public void Register(Rectangle rectangle) + //{ - } + //} }