private static void Start() { foreach (Zone z in Zone.GetZones()) { z.zoneType = Zone.GetZoneTypeWithoutBigResearch(z, z.linkedZone); } bool found; FixedMap map = CreateAndCheck_MapRegister(out found); game.mapName = map.mapName; DebugLog(found ? game.mapName : "No fixed map found"); if (game.mapName == "SS") { game.mapStrat = new Map_SS(map); } }
//TODO //Relay point = zone comme la base qui affect des squads et n'est pas affecter par les ordes générals public Map_SS(FixedMap map) : base(map) { left = new MapArea(new int[] { 0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11 }); right = new MapArea(new int[] { 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }); }
private static FixedMap CreateAndCheck_MapRegister(out bool found) { //Init map found = false; string name = ""; List <FixedMap> maps = new List <FixedMap>(); FixedMap map; // Create map map = new FixedMap() { mapName = "TheCross", zoneNumber = 149, markedZone = new MapZone[] { new MapZone(94, new int[] { 93, 100, 101, 95, 87, 86 }), new MapZone(55, new int[] { 48, 49, 56, 54, 62, 63 }) } }; //Check it is this one if (map.IsItThisMap(ref Zone.zones, out name)) { found = true; return(map); } map = new FixedMap() { mapName = "Black Hole", zoneNumber = 367, markedZone = new MapZone[] { new MapZone(226, new int[] { 225, 239, 240, 227, 216, 215 }), new MapZone(141, new int[] { 140, 151, 152, 127, 128, 142 }) } }; //Check it is this one if (map.IsItThisMap(ref Zone.zones, out name)) { found = true; return(map); } map = new FixedMap() { mapName = "Square", zoneNumber = 199, markedZone = new MapZone[] { new MapZone(188, new int[] { 197, 198, 189, 187, 177, 178 }), new MapZone(93, new int[] { 92, 94, 103, 104, 83, 84 }) } }; //Check it is this one if (map.IsItThisMap(ref Zone.zones, out name)) { found = true; return(map); } map = new FixedMap() { mapName = "PR2", zoneNumber = 405, markedZone = new MapZone[] { new MapZone(305, new int[] { 295, 296, 306, 304, 316, 317 }), new MapZone(100, new int[] { 99, 101, 88, 89, 109, 110 }) } }; //Check it is this one if (map.IsItThisMap(ref Zone.zones, out name)) { found = true; return(map); } map = new FixedMap() { mapName = "Leaf", zoneNumber = 159, markedZone = new MapZone[] { new MapZone(131, new int[] { 130, 121, 122, 138, 139 }), new MapZone(51, new int[] { 43, 44, 52, 61, 60 }) } }; //Check it is this one if (map.IsItThisMap(ref Zone.zones, out name)) { found = true; return(map); } map = new FixedMap() { mapName = "SS", zoneNumber = 23, markedZone = new MapZone[] { new MapZone(15, new int[] { 13, 14, 16, 18, 19 }), new MapZone(8, new int[] { 5, 4, 7, 9, 10 }) } }; //Check it is this one if (map.IsItThisMap(ref Zone.zones, out name)) { found = true; return(map); } //None was found return(map); }
public MapStat(FixedMap map) { Map = map; }
private void Start() { var map = new FixedMap(25); foreach (var node in map.Nodes) { var hexObject = Instantiate(HexPrefab, Parent); var position = HexHelper.ConvertToWorld(node.Offset.X, node.Offset.Y); hexObject.transform.position = new Vector3(position[0] * 20, position[1] * 20, 0); hexObject.Init(node); _nodeModels.Add(hexObject); hexObject.Clicked += HexObject_Clicked; if (UnityEngine.Random.Range(0, 100) > 70) { for (var i = 0; i < UnityEngine.Random.Range(3, 7); i++) { var wallObject = Instantiate(WallPrefab, hexObject.transform); wallObject.transform.localPosition = UnityEngine.Random.insideUnitCircle * 5; } } } var nameGenerator = new IdNameGenerator(); for (var i = 0; i < 6; i++) { var node = map.Nodes.Skip(i * 3 + 1).First(); var personList = new List <ICombatPerson>(); for (var j = 0; j < 5; j++) { var person = new CombatPerson(nameGenerator); personList.Add(person); } var squad = new CombatSquad(node, personList.ToArray(), i < 2 ? Player.Human : Player.Cpu); _combatService.SquadManager.Add(squad); var squadObject = Instantiate(CombatSquadPrefab, Parent); var personModelList = new List <CombatPersonModel>(); var formationSize = Mathf.Sqrt(squad.Persons.Length) + 1; var personX = 0; var personY = 0; foreach (var combatPerson in squad.Persons) { var combatPersonModel = Instantiate(CompatPersonPrefab, squadObject.transform); personModelList.Add(combatPersonModel); personX++; if (personX >= formationSize) { personX = 0; personY++; } combatPersonModel.transform.position = new Vector3(personX * 1.5f, personY * 1.5f); combatPersonModel.Clicked += CombatPersonModelOnClicked; combatPersonModel.HoverEnter += CombatPersonModelOnHoverEnter; combatPersonModel.HoverExit += CombatPersonModelOnHoverExit; combatPersonModel.Init(combatPerson); } squadObject.Init(squad, personModelList.ToArray()); _squadModels.Add(squadObject); } _combatEventBus.EventRegistered += CombatEventBusOnEventRegistered; }