/// <summary> /// Modifica la destinazione di una superficie teletrasporto con un'altra superficie di teletrasporto. /// </summary> /// <param name="surfSource">Superficie che punterà all'altro teletrasporto</param> /// <param name="surfDest">Superficie puntata dal teletrasporto surfSource</param> /// <returns></returns> public bool ChangeTeleportProp(KulaLevel.Surface surfSource, KulaLevel.Surface surfDest) { if ((surfSource != null) && (surfSource.Type == KulaLevel.SurfaceType.Teleport) && (surfDest != null) && (surfDest.Type == KulaLevel.SurfaceType.Teleport)) { if (!surfDest.SurfaceTileCoordinates.Equals(surfSource.SurfaceTileCoordinates)) { surfSource.NextTeleport = surfDest; } OnChangedTileProperties(new ChangedTilePropertiesEventArgs(this)); return(true); } else { return(false); } }
private void SetupSurfaceInterface(KulaLevel.Block b) { isReadyToListen = false; KulaLevel.Surface surf = b.GetSurfaceAtFace(editLvlEditor.ChosenFaceDirection); KulaLevel.Surface nxtTele = surf.NextTeleport; changeNumericValues(numSpecificProp1, 2000, 6000, 100, (int)surf.SpikesPeriod); changeNumericValues(numSpecificProp2, 2000, 6000, 100, (int)surf.SpikesBegin); if (surf.Type.ToString() != "TimedSpikes") { numSpecificProp1.Enabled = false; numSpecificProp2.Enabled = false; lblSpecificProp1.Enabled = false; lblSpecificProp2.Enabled = false; } if (nxtTele != null) { txtSpecificProp7.Text = ( "Block @(X: " + nxtTele.BindingBlock.X + ", Y: " + nxtTele.BindingBlock.Y + ") Face: " + TileConverter.Reverse(nxtTele.Orientation) ); } else { txtSpecificProp7.Text = ""; } if (surf.Type.ToString() != "Teleport") { btnSpecificProp7.Enabled = false; txtSpecificProp7.Enabled = false; } isReadyToListen = true; }