/**
 * <auto-generated>
 * Autogenerated by Thrift Compiler (0.22.0)
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 * </auto-generated>
 */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Thrift;
using Thrift.Collections;
using System.Runtime.Serialization;
using Thrift.Protocol;


#pragma warning disable IDE0079  // remove unnecessary pragmas
#pragma warning disable IDE0017  // object init can be simplified
#pragma warning disable IDE0028  // collection init can be simplified
#pragma warning disable IDE0305  // collection init can be simplified
#pragma warning disable IDE0034  // simplify default expression
#pragma warning disable IDE0066  // use switch expression
#pragma warning disable IDE0090  // simplify new expression
#pragma warning disable IDE0290  // use primary CTOR
#pragma warning disable IDE1006  // parts of the code use IDL spelling
#pragma warning disable CA1822   // empty DeepCopy() methods still non-static
#pragma warning disable IDE0083  // pattern matching "that is not SomeType" requires net5.0 but we still support earlier versions

namespace Byway.Thrift.Data
{
  public static class LevelLauncherDataExtensions
  {
    public static bool Equals(this Dictionary<int, global::Byway.Thrift.Data.LevelLauncherDataItem> instance, object that)
    {
      if (!(that is Dictionary<int, global::Byway.Thrift.Data.LevelLauncherDataItem> other)) return false;
      if (ReferenceEquals(instance, other)) return true;

      return TCollections.Equals(instance, other);
    }


    public static int GetHashCode(this Dictionary<int, global::Byway.Thrift.Data.LevelLauncherDataItem> instance)
    {
      return TCollections.GetHashCode(instance);
    }


    public static Dictionary<int, global::Byway.Thrift.Data.LevelLauncherDataItem> DeepCopy(this Dictionary<int, global::Byway.Thrift.Data.LevelLauncherDataItem> source)
    {
      if (source == null)
        return null;

      var tmp15 = new Dictionary<int, global::Byway.Thrift.Data.LevelLauncherDataItem>(source.Count);
      foreach (var pair in source)
        tmp15.Add(pair.Key, (pair.Value != null) ? pair.Value.DeepCopy() : null);
      return tmp15;
    }


  }
}
