Example #1
0
    public override DatabaseEntry Copy()
    {
        AuraTileEffect e = new AuraTileEffect(key, sourceID, tempID, effectLength, effectSpread, buffToAdd);

        e.tempID = tempID;

        e.descript = descript;
        e.remove   = remove;


        foreach (string s in attributes)
        {
            e.attributes.Add(s);
        }

        foreach (TileEffectComponent ec in init)
        {
            e.init.Add(ec.Copy());
        }

        foreach (TileEffectComponent ec in turn)
        {
            e.turn.Add(ec.Copy());
        }

        foreach (TileEffectComponent ec in actorEnter)
        {
            e.actorEnter.Add(ec.Copy());
        }

        foreach (TileEffectComponent ec in actorExit)
        {
            e.actorExit.Add(ec.Copy());
        }

        foreach (TileEffectComponent ec in end)
        {
            e.end.Add(ec.Copy());
        }


        return(e);
    }
Example #2
0
    private void GenerateTileNodeDictionary(ActorData sourcID, int startX, int startY)
    {
        Pathfinding pf = Globals.GetBoardManager().pathfinding;

        //Change faction and tile type effects here
        List <TileNode> auraNodes = pf.GetNodes(pf.UnWeightedBFS(range, 0, startX, startY));

        effectMap = new Dictionary <MapCoords, string>();

        foreach (TileNode node in auraNodes)
        {
            // if (!(node.data.posX == startX && node.data.posY == startY))
            {
                AuraTileEffect effect = new AuraTileEffect("Aura Tile Effect",
                                                           sourcID,
                                                           Globals.GenerateRandomHex(),
                                                           new NoLengthLimit(), new NoSpread(), buffToApply);
                node.AddTileEffect(effect);
                effectMap.Add(new MapCoords(node.data.posX, node.data.posY), effect.tempID);
            }
        }
    }