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); }
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); } } }