Ejemplo n.º 1
0
    private void AddVillageSprites()
    {
        var villages = parameters.parameters.villages;

        villages.Shuffle();
        int  counter = 0;
        bool giveSupplyRequestToVillage = true;

        foreach (Sector sector in generator.sectors)
        {
            Vector3 worldPos = worldPosFromNode(sector.xVillage, sector.yVillage);
            worldPos.z = villageZLevel;
            GameObject village           = GameObject.Instantiate(villagePrefab, worldPos, Quaternion.identity, transform);
            Rect       transformedSector = sector.sectorRect;
            var        LD   = worldPosFromNode((int)transformedSector.min.x, (int)transformedSector.min.y);
            var        size = new Vector2(transformedSector.size.x * tileSize.x, transformedSector.size.y * tileSize.y);
            transformedSector.Set(LD.x, LD.y, size.x, size.y);

            TransformedSector completeTransformed = new TransformedSector();
            completeTransformed.sector  = transformedSector;
            completeTransformed.village = village;
            village.GetComponent <VillageScript>().initFresh(completeTransformed, worldAI, villages[counter].name, initialSoldiersPerVillage, giveSupplyRequestToVillage);
            giveSupplyRequestToVillage = !giveSupplyRequestToVillage;

            sectors.Add(completeTransformed);

            ++counter;
            if (counter >= villages.Count - 1)
            {
                counter = 0;
            }
        }
    }
Ejemplo n.º 2
0
 public void initFresh(TransformedSector sector, WorldAIDirector director, string name, int soldiers, bool needsSup)
 {
     this.director = director;
     this.sector   = sector;
     setBoundSoldiers(soldiers);
     director.addToDispatchers(gameObject);
     director.addToReceivers(gameObject);
     needSupply = needsSup;
     setName(name);
 }
Ejemplo n.º 3
0
    public void DispatchHunters(Vector2 pos)
    {
        TransformedSector sector = gameWorld.sectorFromWorldPos(pos);
        var village = sector.village;
        var patrol  = GameObject.Instantiate(patrolPrefab, village.transform.position, Quaternion.identity);

        patrol.GetComponent <Patrollable>().lazyInit(pos, village, village);
        patrol.GetComponent <Entity>().SetSoldiers((int)Mathf.Ceil(hunterModifier * village.GetComponent <VillageScript>().boundSoldiers));
        patrol.GetComponent <SpriteRenderer>().sprite  = patrolSprites.patrolSprite;
        patrol.GetComponent <Patrollable>().isHunting  = true;
        patrol.GetComponent <Patrollable>().isEscaping = true;
        village.GetComponent <VillageScript>().addToReceiving(patrol);
        patrol.GetComponent <Patrollable>().reset(pos);
        patrol.GetComponent <Animator>().SetTrigger("hunt");
    }