Beispiel #1
0
    override public void Start()
    {
        var startPos = RXRandom.GetRandomItem(arena.mapData.startPoses) as StartPosMI;

        arena.mapData.startPoses.Remove(startPos);

        Vector2 center   = new Vector2(startPos.x, startPos.y);
        float   radius   = 40;
        int     failsafe = 0;

        while (vills.Count < initialVillCount && failsafe++ < 1000)
        {
            Vector2 checkPos = center + (RXRandom.Vector2Normalized() * radius * RXRandom.Float());
            if (!arena.entityArea.CheckPointHit(checkPos.x, checkPos.y))
            {
                Vill vill = new Vill(this, arena.entityArea);
                vill.SetPosition(checkPos);
                vill.AddToArea();
                vills.Add(vill);
                arena.vills.Add(vill);
            }
        }
    }
Beispiel #2
0
    public override void Start()
    {
        var startPos = RXRandom.GetRandomItem(arena.mapData.startPoses) as StartPosMI;
        arena.mapData.startPoses.Remove(startPos);

        Vector2 center = new Vector2(startPos.x,startPos.y);
        float radius = 40;
        int failsafe = 0;

        while(vills.Count < initialVillCount && failsafe++ < 1000)
        {
            Vector2 checkPos = center + (RXRandom.Vector2Normalized() * radius * RXRandom.Float());
            if(!arena.entityArea.CheckPointHit(checkPos.x,checkPos.y))
            {
                Vill vill = new Vill(this,arena.entityArea);
                vill.SetPosition(checkPos);
                vill.AddToArea();
                vills.Add(vill);
                arena.vills.Add(vill);
            }
        }
    }