using System.Collections.Generic; using CamControl; using Chars; using HexFiled; using UnityEngine; namespace Controller { internal sealed class GameInit { public GameInit(Controllers controllers, Data.Data data) { var hexGrid = new HexGrid(data.FieldData); controllers.Add(hexGrid); hexGrid.OnHexPainted += DoSomething; Player player = new Player(data.PlayerData, data.WeaponsData.WeaponsList[0], hexGrid); List units = new List { player }; var unitFactory = new UnitFactory(units); hexGrid.OnGridLoaded += unitFactory.Spawn; PlayerControl playerControl = new PlayerControl(player, data.PlayerData); controllers.Add(playerControl); CameraControl cameraControl = new CameraControl(Camera.main, data.CameraData); controllers.Add(cameraControl); player.onPlayerSpawned += cameraControl.InitCameraControl; } private void DoSomething(HexCell cell) { Debug.Log("Painted! " + cell.coordinates ); } } }