public override bool Do() { if (Layer.IsTileEmpty(TilePosition)) { //architect.AddTile(Layer, TileWorldPosition, TilePosition, DoTileType, DoRotationFlip); Layer.AddTile(TilePosition, DoTileType, DoRotationFlip); return(true); } else if (Layer[TilePosition].TileType != DoTileType) //else if (Layer[TilePosition].TileType != architect.SelectedTileType) { OldTileType = Layer[TilePosition].TileType; OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform); Layer.EmptyTile(TilePosition); //architect.AddSelectedTileType(Layer, TileWorldPosition, TilePosition); Layer.AddTile(TilePosition, DoTileType, DoRotationFlip); OldRotationFlip.ApplyTo(Layer[TilePosition].Transform); return(true); } else if (!DoRotationFlip.Equals(Layer[TilePosition].Transform)) //else if (!architect.RotationFlip.Equals(Layer[TilePosition].Transform)) { //PDebug.Log(Layer[TilePosition].Transform.localScale, Layer[TilePosition].Transform.localRotation.eulerAngles.z, architect.RotationFlip); OldTileType = Layer[TilePosition].TileType; OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform); DoRotationFlip.ApplyTo(Layer[TilePosition].Transform); //architect.RotationFlip.ApplyTo(Layer[TilePosition].Transform); return(true); } else { return(false); } }
public override bool Do() { if (Layer.IsTileEmpty(TilePosition)) { //architect.AddTile(Layer, TileWorldPosition, TilePosition, DoTileType, DoRotationFlip); Layer.AddTile(TilePosition, DoTileType, DoRotationFlip); return true; } else if (Layer[TilePosition].TileType != DoTileType) //else if (Layer[TilePosition].TileType != architect.SelectedTileType) { OldTileType = Layer[TilePosition].TileType; OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform); Layer.EmptyTile(TilePosition); //architect.AddSelectedTileType(Layer, TileWorldPosition, TilePosition); Layer.AddTile(TilePosition, DoTileType, DoRotationFlip); OldRotationFlip.ApplyTo(Layer[TilePosition].Transform); return true; } else if (!DoRotationFlip.Equals(Layer[TilePosition].Transform)) //else if (!architect.RotationFlip.Equals(Layer[TilePosition].Transform)) { //PDebug.Log(Layer[TilePosition].Transform.localScale, Layer[TilePosition].Transform.localRotation.eulerAngles.z, architect.RotationFlip); OldTileType = Layer[TilePosition].TileType; OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform); DoRotationFlip.ApplyTo(Layer[TilePosition].Transform); //architect.RotationFlip.ApplyTo(Layer[TilePosition].Transform); return true; } else return false; }
public void bob() { LayerData layer = new LayerData(null, "Layer", 2, 2); ArchitectTilePositionGetter tilePosition = new ArchitectTilePositionGetter(Vector3.zero, layer); TileType type = new TileType(5); ArchitectRotationFlip rotation = new ArchitectRotationFlip(90, false, false); BrushCommand brush = new BrushCommand(tilePosition, type, rotation); bool done = brush.Do(); Debug.Log(done); Assert.IsTrue(done); }
public BrushCommand(ArchitectTilePositionGetter tilePositionGetter, TileType tileType, ArchitectRotationFlip RotationFlip) : base(tilePositionGetter) { DoTileType = tileType; DoRotationFlip = RotationFlip; }
public void AddTile(Point2 tilePoint, TileType tileType, ArchitectRotationFlip rotationFlip) { if (this[tilePoint.X, tilePoint.Y] == null) return; AddTile(tilePoint, tileType); rotationFlip.ApplyTo(this[tilePoint.X, tilePoint.Y].Transform); }
/*public void setSelectedTile(int id) { SelectedTileType = Linker.Tilesets[0].Tiles[id - 1]; } public void AddSelectedTileType(LayerData layer, Vector3 worldP, Point2 tilePoint) { layer.AddTile(tilePoint, toolControler.SelectedTileType, toolControler.RotationFlip); }*/ /*public void AddTile(LayerData layer, Vector3 worldP, Point2 tilePoint, TileType tileType) { layer.AddTile(tilePoint, tileType, toolControler.RotationFlip); }*/ public void AddTile(LayerData layer, Vector3 worldP, Point2 tilePoint, TileType tileType, ArchitectRotationFlip RotationFlip) { layer.AddTile(tilePoint, tileType, RotationFlip); }