private void ExecuteTileRule(TilePosition pos, Tile tile, TileRule rule) { world.stats.executedRules++; if (rule.CheckConditions(this, tile, pos)) { rule.Execute(this, tile, pos); } }
/* * Sprites */ public void SetSprite() { var spriteName = TileRule != null?TileRule.GetSprite(GetGridPositions()) : Config.Sprite; this.SpriteRenderer.sprite = Assets.GetSprite(spriteName); this.SpriteRenderer.sortingOrder = Config.SortingOrder; this.SpriteRenderer.color = Config.Color; this.transform.localScale = Config.Scale; this.transform.rotation = Assets.GetSpriteRotation(spriteName); }
public void AddRule(TileRule rule) { List <TileRule> r = new List <TileRule>(); if (this.rules != null) { r.AddRange(this.rules); } r.Add(rule); this.rules = r.ToArray(); }
public static TileRule FromBaseObject(BaseObject baseObj) { if (baseObj == null || baseObj.NativeObject == IntPtr.Zero) { return(null); } TileRule obj = baseObj as TileRule; if (object.Equals(obj, null)) { obj = new TileRule(CreatedWhenConstruct.CWC_NotToCreate); obj.BindNativeObject(baseObj.NativeObject, "CTileRule"); obj.IncreaseCast(); } return(obj); }
public BaseObject Create() { TileRule emptyInstance = new TileRule(CreatedWhenConstruct.CWC_NotToCreate); return(emptyInstance); }