using Gtk; using System; public class Fluid:TerrPlugin{ mutable host:TerrHost; public Host:TerrHost { set { host=value; } } mutable nr:int; //settings mutable sC=100; mutable sD=10; mutable sM=100; mutable sT=0.033; mutable sInitMin= -500; mutable sInitMax=500; mutable sIter=50; //-------------------------------------------------------------------------------------------------------------- public Register(n:int):void{ nr=n; def mItem=MenuItem("fluid"); host.MGener.Append(mItem); mItem.Activated+=EventHandler(optionsWin); } //------------------------------------------------------------------------------------------------------------- public Run():void{ host.Start(nr); def r=Random(); def progStep=1/sIter:>double; def map=host.HMap; def sizeX=map.SizeX; def sizeY=map.SizeY; def mapNew=Terr.Map(sizeX,sizeY,true); def mapOld=Terr.Map(sizeX,sizeY,true); for (mutable x=0; x