Example #1
0
        internal static void OnGetData(GetDataEventArgs e)
        {
            if (e.MsgID != PacketTypes.HitSwitch)
            {
                return;
            }

            using (var reader = new BinaryReader(new MemoryStream(e.Msg.readBuffer, e.Index, e.Length)))
            {
                short    X      = reader.ReadInt16();
                short    Y      = reader.ReadInt16();
                TSPlayer player = TShock.Players[e.Msg.whoAmI];

                HitSwitch?.Invoke(new WireToggleEventArgs(X, Y, player));
            }
        }
Example #2
0
 private static HitSwitch parseHitSwitch(XMLNode node, World world)
 {
     string doorName = "";
     if (node.children.Count > 0)
     {
         foreach (XMLNode property in ((XMLNode)node.children[0]).children)
         {
             switch (property.attributes["name"].ToLower())
             {
                 case "door":
                     doorName = property.attributes["value"];
                     break;
             }
         }
     }
     string switchName = "";
     if (node.attributes.ContainsKey("name"))
         switchName = node.attributes["name"];
     HitSwitch result = new HitSwitch(doorName, switchName, world);
     result.SetPosition((float.Parse(node.attributes["x"]) + 8f), -(float.Parse(node.attributes["y"]) - 8f));
     return result;
 }