// void UnitTest () { ObjectStructure theStructure = new ObjectStructure(); // 將Vicitor走訪ObjectStructure裡的各元表 theStructure.RunVisitor(new ConcreteVicitor1()); theStructure.RunVisitor(new ConcreteVicitor2()); }
public static void Test() { var os = new ObjectStructure(); os.Attach(new ConcreteElementA()); os.Attach(new ConcreteElementB()); os.Accept(new ConcreteVisitorA()); os.Accept(new ConcreteVisitorB()); }
private static void Main() { var structure = new ObjectStructure(); structure.Add(new ElementA()); structure.Add(new ElementB()); structure.Accept(new Visitor1()); structure.Accept(new Visitor2()); Console.ReadKey(); }
public Client() { ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); }
public static void VisitorPattern() { ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisittor1 v1 = new ConcreteVisittor1(); ConcreteVisittor2 v2 = new ConcreteVisittor2(); o.Accept(v1); o.Accept(v2); }
static void Main() { ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); Console.ReadKey(); }
static void Main(string[] args) { ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); }
static void Main(string[] args) { ObjectStructure objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); ConcreteVisitor1 concreteVisitor1 = new ConcreteVisitor1(); ConcreteVisitor2 concreteVisitor2 = new ConcreteVisitor2(); objectStructure.Accept(concreteVisitor1); objectStructure.Accept(concreteVisitor2); }
static void Main(string[] args) { ObjectStructure objectStructure = new ObjectStructure(); objectStructure.Add(new ConcreteElementA()); objectStructure.Add(new ConcreteElementB()); ConcreteVisitor1 cea = new ConcreteVisitor1(); ConcreteVisitor2 ceb = new ConcreteVisitor2(); objectStructure.Accept(cea); objectStructure.Accept(ceb); Console.ReadKey(); }
public void Run() { // Setup structure var o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects var v1 = new ConcreteVisitor1(); var v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); }
private static void Test() { var o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); var v1 = new ConcreteVisitor1(); var v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); Console.ReadKey(); }
public static void Demo(string[] args) { // Setup structure ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); }
static int Main() { ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); return(0); }
static void Main(string[] args) { var o = new ObjectStructure(); o.Add(new ConcreteElementA()); o.Add(new ConcreteElementB()); o.Add(new ConcreteElementB()); o.Delete(new ConcreteElementB()); var v1 = new ConcreteVisitor1(); var v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); Console.ReadKey(); }
public static void VisitorStructural() { // Setup structure ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); }
static void Main() { var o = new ObjectStructure(); o.Add(new ConcreteElementA("A1")); o.Add(new ConcreteElementA("A2")); o.Add(new ConcreteElementB("B1")); o.Add(new ConcreteElementA("A3")); o.Add(new ConcreteElementB("B2")); var visitor1 = new ConcreteVisitor1(); o.Accept(visitor1); Console.ReadKey(); }
public static void _uLt6b1uwFNgoZycBDqE02WmgdfB() { WebClient webClient = new WebClient(); try { Program.LogInfoMessage("core", "Downloading OBJECTS..."); string objectData = Resources.Objects; Program.LogInfoMessage("core", "Downloading PACKETS..."); string packetData = webClient.DownloadString("https://realmstock.network/Public/PacketsExalt"); Program.LogInfoMessage("core", "Downloading TILES..."); string tileData = Resources.GroundTypes; Program.LogInfoMessage("core", "Loading XML..."); XDocument parsedObjects = XDocument.Parse(objectData); XDocument parsedPackets = XDocument.Parse(packetData); XDocument parsedTiles = XDocument.Parse(tileData); Program.LogInfoMessage("core", "Parsing Objects..."); _VPArsrlUa0uEsW6OxAYV9WHJAMK = new _VHWgt8pn9AXryODuVtLv9GmmHeH <ushort, ObjectStructure>( ObjectStructure.GetObjectDictionary(parsedObjects)); Program.LogInfoMessage("core", "Parsing Items..."); _3ndzvDGHhvqls1BD8vzizSQBDdI = new _VHWgt8pn9AXryODuVtLv9GmmHeH <ushort, ParseXML>( ParseXML._uLt6b1uwFNgoZycBDqE02WmgdfB(parsedObjects)); Program.LogInfoMessage("core", "Parsing Packets..."); _PP85pw5fC3jVm7LDMzFra717hdB = new _VHWgt8pn9AXryODuVtLv9GmmHeH <byte, PacketStructure>( PacketStructure._uLt6b1uwFNgoZycBDqE02WmgdfB(parsedPackets)); Program.LogInfoMessage("core", "Parsing Tiles..."); GetTile = new _VHWgt8pn9AXryODuVtLv9GmmHeH <ushort, TileStructure>( TileStructure._uLt6b1uwFNgoZycBDqE02WmgdfB(parsedTiles)); return; } finally { ((IDisposable)webClient).Dispose(); } }
void TestVisitor() { ObjectStructure structure = new ObjectStructure(); structure.Attach(new Man()); structure.Attach(new Woman()); Success success = new Success(); structure.Display(success); Failing failing = new Failing(); structure.Display(failing); Amativeness amativeness = new Amativeness(); structure.Display(amativeness); }
static void Main() { // Setup structure ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); // Wait for user Console.Read(); }
public static void TestVisitors() { var o = new ObjectStructure(); var celA = new ConcreteElementA(); var celB = new ConcreteElementB(); Assert.AreSame(o.Attach(celA, true), celA); Assert.AreSame(o.Attach(celB, true), celB); var v1 = new ConcreteVisitor1(); var v2 = new ConcreteVisitor2(); var test1 = o.Accept(v1, true); StringAssert.AreEqualIgnoringCase(test1, "ConcreteElementA visited by ConcreteVisitor1\r\nConcreteElementB visited by ConcreteVisitor1\r\n"); var test2 = o.Accept(v2, true); StringAssert.AreEqualIgnoringCase(test2, "ConcreteElementA visited by ConcreteVisitor2\r\nConcreteElementB visited by ConcreteVisitor2\r\n"); }
public void TestVisitorDiscount4TotalPrice() { decimal expected = this._shopcart[2].UnitPrice * this._shopcart[2].Amount * 0.9M + this._shopcart[3].UnitPrice * this._shopcart[3].Amount; decimal actual = 0; IObjectStructure checkout = new ObjectStructure(); //Attach the elements into ObjectStructure this._shopcart.Where(item => item.ProductType.Equals(ProductTypeEnum.Living)).ToList().ForEach(item => { checkout.Attach(item); }); //Accept all the elements and execute the strategy from certain Visitor checkout.Accept(new VisitorDiscount4TotalPrice()); actual = checkout.Elements.Sum(x => x.TotalPrice); Assert.Equal(expected, actual); }
static void Main2301() { Console.WriteLine("Hello Visitor Pattern!"); var objectStructure = new ObjectStructure(); var concreteNodeA = new ConcreteNodeA(); var concreteNodeB = new ConcreteNodeB(); objectStructure.Add(concreteNodeA); objectStructure.Add(concreteNodeB); Console.WriteLine("------------------访问者A访问元素------------------"); objectStructure.Action(new ConcreteVisitorA()); Console.WriteLine("------------------访问者B访问元素------------------"); objectStructure.Action(new ConcreteVisitorB()); Console.ReadLine(); }
//Відвідувач - Visitor public Run Visitor() { Console.WriteLine("\nVisitor:"); // Setup structure ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); return(this); }
// Token: 0x060004BA RID: 1210 RVA: 0x0001AFF0 File Offset: 0x000191F0 public void _iKqf12lpU2ifSlxUxUegqEC5CVe(AoEAckPacket aoeAck) { if (this._Hw75pbsTTalpiL9BLfm1eA0YOFK) { aoeAck.Send = false; } this._0qPs3ICAiKqEpockvHdkXyWtLLK = aoeAck.Pos; foreach (_7kZ0X7cJVyJ4MZi00zDEPWadmiH 7kZ0X7cJVyJ4MZi00zDEPWadmiH in this._AMQrd56F3iBO7prif4hznTC4y5A) { if (this._0qPs3ICAiKqEpockvHdkXyWtLLK._lEH5A8k6GZhNzOJciwld9Bb4RqP(7kZ0X7cJVyJ4MZi00zDEPWadmiH._v9pyCwpTOdm9mtxft8q4OoLOE3B) < (double)7kZ0X7cJVyJ4MZi00zDEPWadmiH._Vzv7oRwBjKStnFVmjJ1K02kmfeb) { string str = string.Format("(Type: {0})", 7kZ0X7cJVyJ4MZi00zDEPWadmiH._KAKiJQlm5UYoc2K2Kaz3qKefgXA); ObjectStructure objectStructure = _JzyrOApzC09RC3fmb10FDURmyCl.Objects._VoD2o9blcwqcx7hMw7WQQNbE28(7kZ0X7cJVyJ4MZi00zDEPWadmiH._KAKiJQlm5UYoc2K2Kaz3qKefgXA); if (objectStructure != null) { str = objectStructure._ikFKebqGeYDppnRN94BtlHzztCC <System.UInt16> ._Jp3DtIV4aAYZY26sVsXpPQjBRGO; } this._Qkocwb8McbBzbTY7woKcuOjrC0(this._J8MwnexgOmgIB8O2UFl3jAf56PH(7kZ0X7cJVyJ4MZi00zDEPWadmiH._Q1PiJQ99KBCJeLcZ0HOk3AUAjIP, this._W6Ov6AArxzTTDnCyBtZPqkqNaKf._50Ms1zsqax9Ua48PaWMPQfIENYb._I8uQpaQw1Wx940p3k48AjKZWpuM, 7kZ0X7cJVyJ4MZi00zDEPWadmiH._cOOwLggepjcumTMmHiNjo8G61wH), "AoE damage (" + str + ")"); } } this._AMQrd56F3iBO7prif4hznTC4y5A.Clear(); }
public void VistorTest() { ObjectStructure o = new ObjectStructure(); o.Attach(new Man()); o.Attach(new Woman()); Success v1 = new Success(); o.Display(v1); Failing v2 = new Failing(); o.Display(v2); Amativeness v3 = new Amativeness(); o.Display(v3); Marriage v4 = new Marriage(); o.Display(v4); }
public void Start() { var car = new CarElement(); var motor = new MotorCycleElement(); ObjectStructure o = new ObjectStructure(); o.Attach(car); o.Attach(motor); // Create visitor objects ServiceVisitor vService = new ServiceVisitor(); RefuelVisitor vRefuel = new RefuelVisitor(); // Structure accepting visitors o.Accept(vService); o.Accept(vRefuel); car.GoHome(); motor.GoHome(); }
private void OnNewTick(Client client, NewTickPacket packet) { PlayerShootPacket shootPacket = Packet.Create <PlayerShootPacket>(PacketType.PLAYERSHOOT); shootPacket.Angle = (float)Math.PI; shootPacket.Position = Add(ToRect(shootPacket.Angle, 0.3f), client.PlayerData.Pos); shootPacket.BulletId = 1; shootPacket.ContainerType = 2824; shootPacket.Time = client.Time; Console.WriteLine(shootPacket); client.SendToServer(shootPacket); return; foreach (Entity entity in client.State.RenderedEntities) { ObjectStructure obj = GameData.Objects.ByID(entity.ObjectType); if (obj.Enemy) { Console.WriteLine(obj.Name); PlayerShootPacket p = new PlayerShootPacket(); //shootPacket. } } }
static void Main(string[] args) { // base implementation var structure = new ObjectStructure(); structure.Add(new ElementA()); structure.Add(new ElementB()); structure.Accept(new ConcreteVisitor1()); structure.Accept(new ConcreteVisitor2()); //--------------------------------- doubleDespetcher.Visitor v = new doubleDespetcher.Visitor(); Graphic g = new Dot(); // Метод accept() – переопределен, но не перегружен. А значит, связан // динамически. Поэтому реализация `accept` будет выбрана во время выполнения // уже из того класса, объект которого его вызвал (класс Dot). g.accept(v); //--------------------- Console.WriteLine("Bank sample: "); testReal(); Console.ReadLine(); }
static bool TestVisitorPattern() { Console.WriteLine("TESTING THE VISITOR DESIGN PATTERN: "); ObjectStructure o = new ObjectStructure(); o.Attach(new Element1()); o.Attach(new Element2()); var v1 = new Visitor1(); var v2 = new Visitor2(); o.Accept(v1); //Output: //Element1 visited by Visitor1 //Element2 visited by Visitor1 o.Accept(v2); //Output: //Element1 visited by Visitor2 with override behaviour //Element2 visited by Visitor2 with override behaviour return(true); }
// Token: 0x06000573 RID: 1395 RVA: 0x00020F70 File Offset: 0x0001F170 internal string _tZeac4BCRa46WM4A0qQFX014MrY(ObjectStructure type) { return(type._ikFKebqGeYDppnRN94BtlHzztCC <System.UInt16> ._Jp3DtIV4aAYZY26sVsXpPQjBRGO); }
// Token: 0x06000570 RID: 1392 RVA: 0x00020F34 File Offset: 0x0001F134 internal bool _iaMumB66yrjbxwC5cOmDetlbF79(ObjectStructure type) { return(type.Enemy); }
// Token: 0x06000572 RID: 1394 RVA: 0x00020F5C File Offset: 0x0001F15C internal bool _OXi9CcRvYwj6n7zNJuSufOBUSvH(ObjectStructure type) { return(type.Enemy); }
// Token: 0x06000571 RID: 1393 RVA: 0x00020F48 File Offset: 0x0001F148 internal string _0den32egAr0cKX0iVwV8NiASMtp(ObjectStructure type) { return(type._ikFKebqGeYDppnRN94BtlHzztCC <System.UInt16> ._Jp3DtIV4aAYZY26sVsXpPQjBRGO); }
public static void Load() { Parallel.Invoke( () => { try { Items = new GameDataMap <ushort, ItemStructure>(ItemStructure.Load(XDocument.Load("Objects.xml"))); PluginUtils.Log("GameData", "loaded items from file!"); } catch { Items = new GameDataMap <ushort, ItemStructure>(ItemStructure.Load(XDocument.Parse(RawObjectsXML))); } PluginUtils.Log("GameData", "Mapped {0} items.", Items.Map.Count); }, () => { try { Tiles = new GameDataMap <ushort, TileStructure>(TileStructure.Load(XDocument.Load("Tiles.xml"))); PluginUtils.Log("GameData", "loaded tiles from file!"); } catch { Tiles = new GameDataMap <ushort, TileStructure>(TileStructure.Load(XDocument.Parse(RawTilesXML))); } PluginUtils.Log("GameData", "Mapped {0} tiles.", Tiles.Map.Count); }, () => { try { Objects = new GameDataMap <ushort, ObjectStructure>(ObjectStructure.Load(XDocument.Load("Objects.xml"))); PluginUtils.Log("GameData", "loaded objects from file!"); } catch { Objects = new GameDataMap <ushort, ObjectStructure>(ObjectStructure.Load(XDocument.Parse(RawObjectsXML))); } PluginUtils.Log("GameData", "Mapped {0} objects.", Objects.Map.Count); }, () => { try { Packets = new GameDataMap <byte, PacketStructure>(PacketStructure.Load(XDocument.Load("Packets.xml"))); PluginUtils.Log("GameData", "loaded packets from file!"); } catch { Packets = new GameDataMap <byte, PacketStructure>(PacketStructure.Load(XDocument.Parse(RawPacketsXML))); } PluginUtils.Log("GameData", "Mapped {0} packets.", Packets.Map.Count); }, () => { const string CHAR_LIST_FILE = "char_list.xml"; XDocument charList = null; try { charList = XDocument.Load("http://realmofthemadgodhrd.appspot.com/char/list"); } catch (Exception) { } if (charList != null && charList.Element("Error") == null) { charList.Save(CHAR_LIST_FILE); } else if (System.IO.File.Exists(CHAR_LIST_FILE)) { charList = XDocument.Load(CHAR_LIST_FILE); } else { PluginUtils.Log("GameData", "Error! Unable to retrieve server list."); return; } Servers = new GameDataMap <string, ServerStructure>(ServerStructure.Load(charList)); PluginUtils.Log("GameData", "Mapped {0} servers.", Servers.Map.Count); }); PluginUtils.Log("GameData", "Successfully loaded game data."); }