public int Bump(Tilemap map, Vector3Int pos, Vector3 offset, float duration, System.Action <int> onFin) { if (map == null || !map.HasTile(pos) || duration < 0.02f || offset.sqrMagnitude < 0.001f ) { return(-1); } var cmd = GetCMD <BumpCmd>(map, pos, duration, onFin); var tran = map.GetTransformMatrix(pos); cmd.startPos = tran.GetColumn(3); cmd.offset = offset; TilemapUtilties.UnlockFlag(map, pos, TileFlags.LockTransform); if (!enabled) { enabled = true; } return(cmd.GUID); }
public int Color(Tilemap map, Vector3Int pos, Color col, float duration, System.Action <int> onFin) { if (map == null || !map.HasTile(pos) || duration < 0.02f ) { return(-1); } var cmd = GetCMD <ColorCmd>(map, pos, duration, onFin); cmd.startColor = map.GetColor(pos); cmd.endColor = col; TilemapUtilties.UnlockFlag(map, pos, TileFlags.LockColor); if (!enabled) { enabled = true; } return(cmd.GUID); }
public int MoveTo(Tilemap map, Vector3Int pos, Vector3 end, float duration, System.Action <int> onFin) { if (map == null || !map.HasTile(pos) || duration < 0.02f ) { return(-1); } var cmd = GetCMD <MoveToCmd>(map, pos, duration, onFin); var tran = map.GetTransformMatrix(pos); cmd.startPos = tran.GetColumn(3); cmd.endPos = new Vector4(end.x, end.y, end.z, cmd.startPos.w); TilemapUtilties.UnlockFlag(map, pos, TileFlags.LockTransform); if (!enabled) { enabled = true; } return(cmd.GUID); }