public bool IsBarricadeDestroyed() { var vector = BarricadeLocation.ToVector3(); if (!Regions.tryGetCoordinate(vector, out byte x, out byte y)) { return(true); } var region = BarricadeManager.regions[x, y]; var data = region.barricades.FirstOrDefault(c => c.instanceID == InstanceId); return(data?.barricade?.isDead ?? true); }
public void SummonContainer(PlayerClothing clothing, ushort id) { var transform = BarricadeManager.dropBarricade(new Barricade(id), null, BarricadeLocation.ToVector3(), 0, 0, 0, 0, 0) .GetComponent <InteractableMannequin>(); if (!Plugin.Instance.Configuration.Instance.ClearClothing) { transform.clothes.visualShirt = clothing.shirt; transform.clothes.visualPants = clothing.pants; transform.clothes.visualHat = clothing.hat; transform.clothes.visualBackpack = clothing.backpack; transform.clothes.visualVest = clothing.vest; transform.clothes.visualMask = clothing.mask; transform.clothes.visualGlasses = clothing.glasses; } transform.rebuildState(); BarricadeManager.tryGetInfo(transform.transform, out byte x, out byte y, out ushort plant, out ushort index, out var region, out var drop); InstanceId = drop.instanceID; }
public bool Destroy() { var vector = BarricadeLocation.ToVector3(); if (!Regions.tryGetCoordinate(vector, out byte x, out byte y)) { return(true); } var region = BarricadeManager.regions[x, y]; var drop = region.drops.FirstOrDefault(c => c.instanceID == InstanceId); var barr = region.barricades.FirstOrDefault(c => c.instanceID == InstanceId); if (drop == null || barr.barricade.isDead) //Not found { return(false); } BarricadeManager.destroyBarricade(region, x, y, ushort.MaxValue, (ushort)region.drops.IndexOf(drop)); return(true); }