Przenoszenie metod do zewnętrznego pliku i odwoływanie się do nich w Form1 w Visual Studio (C#)

0

Cześć. Ponieważ jestem początkującym programistą a potrzebnych informacji nie znalazłem na google (być może źle zapytanie formułowałem?), zdecydowałem się napisać tutaj. Otóż jestem w trakcie tworzenia gry w Visual Studio (C#) i mój plik Form1.cs rozwinął się już do ponad 1000 linijek kodu. Chciałbym to jakoś uporządkować a mianowicie wywalić niektóre metody do innego pliku. Ponieważ gra toczy się na morzu, więc jednostki mają współrzędne X oraz Y (lewy górny róg - x=1, y=1, dolny prawy róg x= 9000, y = 6315 - nie ma wartości ujemnych, by móc ikony jednostek wyświetlać na PictureBox) skonstruowałem sobie np taką metodę

public double Calculate_Distance_Between_Two_Units(double posx1, double posy1, double posx2, double posy2)
        {
            double object1_posx = posx1; double object1_posy = posy1; 
            double object2_posx = posx2; double object2_posy = posy2;
            double calculated_distance = 0; double PowerOfA = 0; double PowerOfB = 0;

            PowerOfA = object2_posx - object1_posx;
            PowerOfB = object2_posy - object1_posy;

            calculated_distance = System.Math.Sqrt((PowerOfA * PowerOfA) + (PowerOfB * PowerOfB));

            return calculated_distance;
        }

Jej wynik jest sprawdzany co sekundę w Timer1. O ile jeśli metoda jest w tym samym pliku co Timer1, robię to po prostu za pomocą


double distance_ab = 0;
distance_ab = Calculate_Distance_Between_Two_Units(ax, ay, bx, by);

Jak mogę wywalić takie metody do osobnego pliku np o nazwie mojeMetody.cs? Rozumiem, że za pomocą Solution Explorer -> Add -> Add New Item? Jak się do nich odwołać?

Z góry dziękuję za odpowiedzi.

1

Metody bez klasy nie mogą istnieć. Utwórz sobie nową klasę w sposób podobny jak wyżej czyli Solution Explorer -> Add -> Class. Np.

public static class Helper
{
   public double Calculate_Distance_Between_Two_Units(double posx1, double posy1, double posx2, double posy2)
   {
         /*...*/
   }
}        

I wtedy:

distance_ab = Helper.Calculate_Distance_Between_Two_Units(ax, ay, bx, by);

1 użytkowników online, w tym zalogowanych: 0, gości: 1