Как реализовать многопоточность с передачей по ссылке?
Я имею проблему c построением кода. С многопоточностью работаю впервые. Думаю что то не правильно понимаю. Логика такова что перебирая постоянно enymy.Walk я реализую передвижение персонажей не зависящих от пользователя. А создавая обьект Player я создаю пользователя который реализует передвижение.
using System;
using System.Collections.Generic;
using System.Threading;
namespace ConsoleGame_epam
{
class Program
{
private static Wall wall;
static void Main(string[] args)
{
Wall wall = new Wall(15, 15);
wall.Drow();
List<Enemy> koll = new List<Enemy>();
//Enemy enemy1 = new Enemy();
for (int i = 0; i < 5; i++)
{
// enemy1.Write(ref wall);
koll.Add(new Enemy());
}
foreach (Enemy enemy in koll)
{
enemy.Write(ref wall);
}
Thread myThread = new ParameterizedThreadStart(func);
myThread.Start();
Player player = new Player(ref wall);
//while (true)
//{
// foreach (Enemy enemy in koll)
// {
// enemy.Walk(ref wall);
// }
//}
}
static void func(IEnumerable<Enemy> koll)
{
while (true)
{
foreach (Enemy enemy in koll)
{
enemy.Walk(ref wall);
}
}
}
}
}