Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    //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 });
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
 public MapStat(FixedMap map)
 {
     Map = map;
 }
Ejemplo n.º 5
0
    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;
    }