//Function called when painting with logic tile public void Eval(TileLogicScript logic, LogicEvalInfo info, bool u, bool d, bool l, bool r, bool ul, bool ur, bool dl, bool dr) { info.Adjust(tname, x + 1, y + 1); if (!u) { if (!l) info.Adjust(tname, x, y); else if (!r) info.Adjust(tname, x + 2, y); else info.Adjust(tname, x + 1, y + (dl ? 0 : ul ? 2 : 0)); } else if (!d) { if (!l) info.Adjust(tname, x, y + 2); else if (!r) info.Adjust(tname, x + 2, y + 2); else info.Adjust(tname, x + 1, y + 2); } else if (u) { if (!l) info.Adjust(tname, x, y + 1); else if (!r) info.Adjust(tname, x + 2, y + 1); } if (u && d && l && r) { if (!ul) info.Adjust(tname, x + 3, y); else if (!ur) info.Adjust(tname, x + 4, y); else if (!dl) info.Adjust(tname, x + 3, y + 1); else if (!dr) info.Adjust(tname, x + 4, y + 1); } if (u && d && l && r && ul && ur && dl && dr) { info.Adjust(tname, x + 1, y + 1); //middle! } }
public void Eval(TileLogicScript logic, LogicEvalInfo info, bool u, bool d, bool l, bool r, bool ul, bool ur, bool dl, bool dr) { info.Adjust(tname, x, y); }