//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 LoadAllLogics() { string dirloc = Environment.CurrentDirectory + "\\Scripts\\Logic\\"; DirectoryInfo info = new DirectoryInfo(dirloc); int index = 0; foreach (FileInfo f in info.GetFiles()) { TileLogicScript logic = new TileLogicScript(index); logic.Load(f.Name); logics.Add(logic); index++; } }
public void Load(TileLogicScript logic) { logic.name = "Grass"; logic.s_0 = tname; logic.s_1 = 0; logic.addSameType(tname, x, y); logic.addSameType(tname, x, y + 1); logic.addSameType(tname, x, y + 2); logic.addSameType(tname, x, y + 3); logic.addSameType(tname, x, y + 4); }
//Function called when initializing logics public void Load(TileLogicScript logic) { logic.name = logicName; logic.s_0 = tname; logic.s_1 = 73; logic.addSameType(tname, x + 0, y + 0); logic.addSameType(tname, x + 1, y + 0); logic.addSameType(tname, x + 2, y + 0); logic.addSameType(tname, x + 0, y + 1); logic.addSameType(tname, x + 1, y + 1); logic.addSameType(tname, x + 2, y + 1); logic.addSameType(tname, x + 0, y + 2); logic.addSameType(tname, x + 1, y + 2); logic.addSameType(tname, x + 2, y + 2); logic.addSameType(tname, x + 3, y + 0); logic.addSameType(tname, x + 4, y + 0); logic.addSameType(tname, x + 3, y + 1); logic.addSameType(tname, x + 4, y + 1); }
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); }