Ejemplo n.º 1
0
            private static void DropStructure(Vector3 point, bool __result, uint ___instanceCount)
            {
                if (!__result)
                {
                    return;
                }

                if (!Regions.tryGetCoordinate(point, out var x, out var y))
                {
                    return;
                }

                if (!StructureManager.tryGetRegion(x, y, out var region))
                {
                    return;
                }

                var data = region.structures.LastOrDefault();
                var drop = region.drops.LastOrDefault();

                if (data?.instanceID == ___instanceCount && drop?.instanceID == ___instanceCount)
                {
                    OnStructureDeployed?.Invoke(data, drop);
                }
            }
Ejemplo n.º 2
0
            private static void DropStructure(Structure structure, Vector3 point, Quaternion rotation, ulong owner,
                                              ulong group, bool __result, uint ___instanceCount)
            {
                if (__result)
                {
                    if (Regions.tryGetCoordinate(point, out byte b, out byte b2))
                    {
                        if (StructureManager.tryGetRegion(b, b2, out StructureRegion region))
                        {
                            StructureData data = region.structures.LastOrDefault();
                            StructureDrop drop = region.drops.LastOrDefault();

                            if (data?.instanceID == ___instanceCount && drop?.instanceID == ___instanceCount)
                            {
                                OnStructureDeployed?.Invoke(data, drop);
                            }
                        }
                    }
                }
            }