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