void StartSpawnTimer() { var random = new Random(); var timer = new Timer(3000); timer.Elapsed += (_, __) => { if (players.Count == 0) { return; } var randomX = random.Next(-5, 5); var randomZ = random.Next(-5, 5); var position = new Position(randomX, 0.5f, randomZ); var item = new Item(uidCounter++, position); lock (items) { items.Add(item.Id, item); } var rpcItem = new RPC.Item(item.Id, item.Position); var spawnRpc = new Spawn(new SpawnPayload(rpcItem)); var spawnJson = JsonConvert.SerializeObject(spawnRpc); broadcast(spawnJson); Console.WriteLine("<< Spawn"); }; timer.Start(); }
void Environment(string toId) { var itemsRpc = new List <RPC.Item>(); foreach (var item in items.Values) { var itemRpc = new RPC.Item(item.Id, item.Position); itemsRpc.Add(itemRpc); } var environmentRpc = new RPC.Environment(new EnvironmentPayload(itemsRpc)); var environmentJson = JsonConvert.SerializeObject(environmentRpc); sendTo(environmentJson, toId); }